Harden up OpRemoveText to better cope with empty text node

Note: WebODF no longer expects operations to leave behind empty text nodes... but in the spirit of coping better with unknown documents and/or bugs, it still seems worthwhile to fix empty-text node related issues imo.

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.