Simplify Document object construction by passing DOMWindow.

This change passes DOMWindow to Document class constructor
via DocumentInit object and gets rid of Document::setDOMwindow().
This wasn't possible due to the need of frame tree traversal
in Document::initSecurityContext(). This change pre-populates
required values in DocumentInit before free tree change
and passed these values to Document ctor.

This change allows DOMWindow to create its own Document.
So DOMWindow::setDOMWindow(Document*) becomes DOMWindow::setNewDocument(),
which creates a Document for its own. This clarifies the Document-DOMWindow
relationship: DOMWindow creates and owns Document.

This is another preparation for Document-ExecutionContext decoupling.
It wants to access DOMWindow in Document ctor.

BUG=305497
R=abarth, dglazkov, japhet@chromium.org

Review URL: https://codereview.chromium.org/47513016

git-svn-id: svn://svn.chromium.org/blink/trunk@160917 bbb929c8-8fbe-4397-9dbb-9b2b20218538