Implement Document::doctype

Closes #1482.
auto merge of #1483 : brunoabinader/servo/document-doctype, r=jdm

Closes #1482.
NVidia submodule updates
auto merge of #1487 : larsbergstrom/servo/NVIDIA_fixes, r=metajack

Fixes #1185 and #668.

r? @metajack
auto merge of #1310 : pcwalton/servo/refactor, r=pcwalton

Here are some refactorings. They depend on #1309, so need to wait for r+ on that first.

r? @metajack
Implement innerHTML getter for HTML documents

XML case is not yet implemented.
auto merge of #1450 : jgraham/servo/innerHTML, r=jdm

XML case is not yet implemented.

Not yet well tested, but at a point where review comments are helpful.
Add DOMImplementation skeleton

Creates a DOMImplementation struct corresponding to DOMImplementation
WebIDL. Also implements a getter for Document::implementation.

Closes #1486.
auto merge of #1488 : brunoabinader/servo/document-implementation, r=Ms2ger

Creates a DOMImplementation struct corresponding to DOMImplementation
WebIDL. Also implements a getter for Document::implementation.

Closes #1486.
layout: Separate out the `LayoutContext` into shared and per-thread
portions
layout: Group the various bits of information needed to create a font
context into one structure that can be cloned into a worker thread
layout: ARC the screen size, so that it can be mutated while layout
worker threads are holding onto it
layout: Implement parallel reflow for the bubble-widths and
assign-heights phases.

This uses the new work-stealing deque. By default, 3/4 of a thread per
logical CPU is used. This can be tuned with the `-y` flag.

I measured a 43% reflow speedup on `perf-rainbow.html` and a 247% reflow
speedup on `http://en.wikipedia.org/wiki/South_China_Sea` on a 4-core
HyperThreaded Core i7. However, numbers were fairly volatile, especially
for the latter.