Update serialization to use parse5

This should enable us to remove a lot of the cruft we currently have to
care about when serializing and move the workload to someone else.
Fix parameter handling of createDocumentType

All parameters are actually .toString()'d in the browser. To remove the
value from the doctype one has to provide an empty string.
Fix up some invalid parameters in tests

Doctype behaviour tests were tested in Chrome console.
Remove all of the old serialization cruft
Fix test results to align with browsers

Tested with Chrome and Firefox. IE encodes the quotes differently.
Update parse5 dependency to require v1.0.1
Remove custom HTML encoding

Since we rely on parse5 for everything now it's not needed
anymore. It also apparently never really worked correctly anyways.