CA-1239 - style formatting

Fix for #57 

* Revert back to using the default enter key behavior in the editor. This creates new nodes so the formatting can be applied line by line. It means that we lean more on the mutation observer but it is running fine.
* added `Current` object that provides getter/setter access to range + $node
* Added `DomTool` a utility for inserting content into nodes and optionallly splitting them if required.
* Added a setter to `current.range` after we `execCommand` - otherwise the existing range object is invalid as the browser moved it start and end container up the hierarchy due to the formatting change.