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.