Implement insertBefore and reimplement appendChild.
Address review comments and replace add_to_doc with node_removed and node_inserted functions.
auto merge of #1136 : Ms2ger/servo/insertBefore, r=jdm
HTMLDirectoryElement should be 'dir'. Fix #1159
auto merge of #1160 : saneyuki/servo/dir, r=jdm

@Ms2ger?
Introduce HTML{Audio,Video}Element::new.
Introduce HTMLTable{Data,Header}CellElement::new.
Introduce HTMLHeadingElement::new.
Introduce HTMLIFrameElement::new.
Introduce HTMLImageElement::new.
Introduce HTMLUListElement::new.
Introduce HTMLTrackElement::new.
Introduce HTMLTableRowElement::new.
Introduce HTMLTitleElement::new.
Introduce HTMLTimeElement::new.
Introduce HTMLTextAreaElement::new.
Introduce HTMLTemplateElement::new.
Introduce HTMLTableSectionElement::new.
Make Document a Node.
Implement basic overflow computation. Closes #1148.

This adds just 4 ms out of ~120 ms on the rainbow page.