Move non-standard serialization methods out of document

See #141.

We still have to leave in the .innerHTML setter for now since it's
basically used everywhere in the code base for parsing the document.
Fix failing tests to use new serialization method
Break apart test options, runner and display

For #711, the test runner will execute in a web worker, but test results will be
displayed in the parent page or a shell. So, it is convenient to break the
options parsing, test running, and results display into their own modules for
reuse by other runners.
Remove { omitDoctype: true } since it didn't actually work.
Document how to serialize a document.