Moved block positioning logic to the Editor. Added a new method to return a block elements position in the dom. Use this to determine if the block needs to be before or after the block we've selected
Stip empty tags before Markdown parsing like <em></em>, this fixes the issue where empty markdown strings are added.