Fixed the stack to cope with HTML fragments

Finally got sick of the fact that several places can only handle a
single HTML node, where we should be sending fragments around.  Realized
that the problem is largely my own fault for passing Elem around -- it
should be NodeSeq.  Changed that throughout the stack.

Introduced XmlHelpers.  Most importantly, added the parseXhtmlFragment()
function, which gets a bit under the covers of the XhtmlParser to parse
a sequence of Elems, not just a single one.

Note that the _class unit test which previously tested for failure now
tests for correctness.