Ref T7643. There are still some silly cases, but I think this improves behavior a bit:
- At the top level, treat whitespace tokens separately. This significantly improves adding or removing paragraphs.
- Fix a bug with diff construction where prefixes and suffixes could overlap on pure whitespace tokens.
There are still some other cases that we don't do a great job on but I think I need to adjust the approach a bit to really improve them.