auto merge of #1422 : pcwalton/servo/less-generic-trees, r=metajack

r? @metajack
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.