Formatblock rewrite

Complete rewrite for formatBlock

* More expected behaviour regarding user
* Selections apply format to selection not its parent block
* Removed toggle functionality from many formatBlock commands (h1-6, p, pre ...) and added plaintext state to formatblock instead.
* Code moderniztion

NB! changes API
(part of v0.5.0 - updating core functionality, API and making ie8 support optional with polyfills)