howling mad ui refactoring

refactored editing api to use boundaries
created formatting module that exposes format() and style() methods
fixed tests
added documentation
Let's not use abbreviations like "sth." especially in comments and documentation.