Add WindowProxy support and basic browsing context concept.

This isn't mergeable state, but it's in a much better place for discussion and feedback. @bholley should definitely take a look at the outerizing stuff.