Polish content insertion

* Content insertion now uses the currentRange instead of the current node. 
* Change how you override core features - using `feature-overrides`
* Allow `features` to be an object that may optionally specify a template function to create markup