script: Don't do anything before the window size comes in.

This fixes the `getBoundingClientRect()` content test.
auto merge of #1429 : pradeep90/servo/master, r=pcwalton

The problems that were caused because of Yellow River seem to be fixed.

(See #1319).
script: Eliminate the phantom type in favor of just whitelisting methods
that layout can safely call.

This is simpler. Currently, the set of methods is not safe, but I plan
to lock it down more soon.
script: Harden layout a bit more by mostly prohibiting it from seeing
`AbstractNode` at all.

It can still see it by calling `with_element` for now, although that
needs to be fixed.
layout: Add a lifetime to `LayoutNode` to prevent layout from stuffing
them into evil places.
layout: Move the `LayoutNode` wrapper from script into layout.
layout: Stop exposing raw `Element` types to layout as well.

This should make layout memory-safe as is, though we will need to do
more stuff for incremental reflow and parallelism.
script: Eliminate the phantom type in `Node`, as it is no longer needed
for enforcing layout memory safety.
auto merge of #1424 : pcwalton/servo/harden-layout, r=pcwalton

This changeset gets rid of the `FooView` phantom type in favor of a more brute force approach that just whitelists methods that layout is allowed to call. The set is surprisingly small now that layout isn't going to the DOM for much.

If this approach turns out not to scale, we can do something fancier, but I'd rather just have it be safe and secure first and then refactor later for programmer happiness.

r? @kmcallister
Fix #1435: em units in font-size

Font-based units in the font-size property refer to the font-size
of the parent, not itself.
Implement Document's 'body' attribute

Implement Document's 'body' attribute (getter and setter). Proper
implementation of setter requires Node::ReplaceChild(), which is
currently a stub and will be done on a later step.

This patch is for:
https://github.com/mozilla/servo/issues/1428
auto merge of #1431 : brunoabinader/servo/document-body, r=jdm

Implement Document's 'body' attribute (getter and setter). Proper
implementation of setter requires Node::ReplaceChild(), which is
currently a stub and will be done on a later step.

This patch is for:
https://github.com/mozilla/servo/issues/1428
Add a test for percentages in font-size
auto merge of #1436 : SimonSapin/servo/font-size-em, r=kmcallister

Font-based units in the font-size property refer to the font-size of the parent, not itself.
Pass a Namespace to Element::get_attribute.
Pass a Namespace to Element::get_attr.
auto merge of #1438 : Ms2ger/servo/cleanup-get_attribute, r=jdm

Passing these around as strings is an anti-pattern, IMO.
Introduce methods to simplify implementing reflecting attributes.
Build with make instead of rustpkg.
auto merge of #1441 : metajack/servo/unrustpkg, r=metajack,me