XML compat / parse5

I took some effort to get parse5 working with jsdom.

I put parse5 as default parser now, however since parse5 doesn't support XML, we need to make note of the parser config to re-enable htmlparser2.

There are currently test failures because I used parse5's document-only parse mode. There is a fragment-only mode, however that'd require us to still do the wrapping stuff. I guess we'll have to go through all the failing tests and check which ones of them actually produce the correct result. The alternative would be to introduce a new config option which enables/disables fragment mode.

Any general comments before I continue? @domenic?
Hmm, I'm really not happy with this. Why is HTMLDocument even being used for XML files anyway?

At the very least we need a `// HACK: sometimes we use HTMLDocument even for XML files, and we don't want things to be *completely* broken`.

I am getting tempted to kill XML support entirely... people using that are misguided. But no... probably people find it useful, and it doesn't cost us too much.