Position layers using their absolute position

Layers are currently all children of the root layer, so instead of
using coordinates relative to the parent flow we should use coordinates
relative to the page.

Fixes #2061.
auto merge of #3617 : mrobinson/servo/layer-positioning, r=pcwalton

Layers are currently all children of the root layer, so instead of
using coordinates relative to the parent flow we should use coordinates
relative to the page.

Fixes #2061.
layout: Implement `z-index`.
auto merge of #3599 : pcwalton/servo/z-index, r=glennw

r? @glennw
layout: Mark the styles of elements with pseudos as unshareable.

Makes multiple `<br>` elements work, since those are implemented via
`before` pseudos.
auto merge of #3600 : pcwalton/servo/pseudo-unshareable, r=mbrubeck

Makes multiple `<br>` elements work, since those are implemented via
`before` pseudos.

r? @mbrubeck
Remove unnecessary `deref()`s (fixes #3586)
auto merge of #3620 : ttaubert/servo/issue/3586-remove-derefs, r=Manishearth

r? @Manishearth
layout: Introduce support for legacy presentational attributes to
selector matching, and use it for `<input size>` and `<td width>`.

This implements a general framework for legacy presentational attributes
to the DOM and style calculation, so that adding more of them later will
be straightforward.
tests: Add missing tests.