Add and move some comments.
Fully support nested character level tags, e.g. <em><b>foo</b> bar</em>.
Move tests to the test source folder.
Remove dead code and clean imports/requires.
Move files relevant to large test to one dir.