Add failing unit test for crash when removing empty text nodes
Harden up OpRemoveText to better cope with empty text nodes

If an auto-collapsing container (e.g., a span) has text with a trailing
empty text node inside the container, the trailing text node is removed
immediately in order to collapse the span. This empty text node may also
appear in the textNodes to be removed, so each subsequent text element
needs to ensure it hasn't already been deleted.