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 write the function documentation in full prose (proper capitalisation and full punctuation).