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.
`removeEmptyGroupingElements` -> `isGroupingElementWithNoContent`

`remove*` sounds like a modifying method to me, not like a state estimation