Add DetoxLayout (previously in ufcommon)
Change the HTML printing method

The reason being: haxe prints XML, which sometimes isn't valid HTML.
The main case being:

    <div></div><p></p>

Becomes

    <div /><p />

But in HTML5, that becomes

    <div><p> ... #unclosed tags!  Bad nesting!

This is basically the same as the Xml printer, but takes care of that
special "empty" use case...
Simplify and possibly optimise

Less conditional compilation.  Use StringBuf in case it's faster...
Better error reporting when a partial isn't found
Add test for self-closing elements