Ensure selectable container fix

This fixes the issue when inserting a node with a child node but no text content, a```BR``` is added to the wrong place.
E.g. ```<p><b></b></p>``` => ```<p><b></b><br></p>``` when it should be ```<p><b><br></b></p>```
I think this creates a different behaviour from the previous code in the following cases (guesswork, I might be wrong):
* `<blockquote></blockquote>` (albeit not great to start with, will become `<blockquote><br></blockquote>`) -- previously we only inserted BRs within Ps and LIs?
* `<p><b></b><i></i></p>` (will become `<p><b><br></b><i><br></i></p>`) -- don't we want to only insert at most one BR per block-level element?

Would be worth adding tests for these two cases anyway so we know we're doing the right thing.