Issue #1071 - Ensure that Documents always have a non-null Window.
auto merge of #1072 : Ms2ger/servo/crash-domparser, r=jdm

Turns out that documents without a window `fail!` a lot, because we need the `cx` all over.
auto merge of #1070 : kmcallister/servo/test-bindings, r=jdm
Unify macros which generate binding codes.
Clean up macros to handle html tags.
auto merge of #1074 : saneyuki/servo/macro, r=jdm
Pass scripts as ~str to support non-ASCII string literals etc.

Of course scripts on the Web are not always encoded as UTF-8 and we will have
to deal with that at some point.
Convert between JS and Rust strings in a way that handles Unicode

This doesn't handle invalid UTF-16 and may not be efficient.  It's just a small
change to make things better until we decide what we're doing about strings in
the long run.
Test non-ASCII tag names