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.