howling mad ui refactoring

refactored editing api to use boundaries
created formatting module that exposes format() and style() methods
fixed tests
added documentation
We should remove this param annotation. I accidentally included it in my original code.