Fix preservation of foreign elements on paragraph merge

This behaviour was working prior to the merge paragraph operation being introduced. A new edge case was introduced related to cleaning up empty spans that caused this to regress.
Alright. Changing things one-by-one. If this was in before, we can keep it. But I added it to my clean-up TODO.