Use contenteditable elements instead of inputs
Reduce element count in grammar editor

Initial effort to remove excess elements, some parts of the editor could
have over 200 child nodes for medium to long sentences, which introduced
pretty bad lag in the interface. A reduction in the number of displayed
DOM nodes vastly improves the lag issues in the editor.

CSS effects like shadows have little to no impact on performance, even
with many DOM nodes.

TODO: Further reduce the node count, particularily in the headers and
sentence editors. Improve grammar watcher callback (the node caching is
particularily slow).