Reduce coupling between layout and the DOM by separating out the layout interface.

Eventually, the layout interface will be moved along with the DOM into a
separate crate.
Remove the layout debug methods.

Premature abstraction; nothing used the traits polymorphically. Furthermore,
they increased coupling between layout and the DOM.
Separate the DOM and layout into separate crates.
etc: Make tidy more resilient to dirty build directories
auto merge of #474 : pcwalton/servo/separation, r=pcwalton

r? @metajack