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