RFC: Fix duplicate root html

This should not be merged because it still has some fail.

In grappling with #343 I started to pull apart the document element and the document node. I got stuck because now we have two code paths that want to create a document node; once when we create the window and the document, and then again when we create all the nodes in the tree. I am currently wondering which is the better way, maybe neither, and how to make one path clearly responsible. Thinking to set the 'Document' on a hypothetical 'DocumentNode' and then create the document along with the tree.