layout: Support more types of selectors for style sharing.

This helps avoid problems with style sharing in common cases, often
caused by the user agent stylesheet.
Update azure. This removes the final rust-opengles dependency.
auto merge of #3861 : glennw/servo/update-azure, r=metajack
auto merge of #3838 : pcwalton/servo/style-sharing-enhancements, r=SimonSapin

This helps avoid problems with style sharing in common cases, often
caused by the user agent stylesheet.

r? @SimonSapin
s/AbstractNodeChildrenIterator/NodeChildrenIterator/
ChildElementIterator is now peekable
s/peek().is_some()/!is_empty()/
auto merge of #3864 : brunoabinader/servo/node-peekable-childelement, r=Ms2ger

This change avoid using ```child_elements().count() > 0``` approach (using ```child_elements().peek().is_some()``` instead).
util: Add a `Show` implementation to `SmallVec`
gfx: Enhance display list debugging a bit with support for dumping
stacking levels, etc.
auto merge of #3833 : pcwalton/servo/display-list-debugging, r=mrobinson

r? @mrobinson
auto merge of #3834 : pcwalton/servo/smallvec-debugging, r=pcwalton

r? @cgaebel
layout: Make absolute position calculation idempotent.

This will be necessary for incremental reflow of absolutely-positioned
flows.
test: Mark the inline element in `inline_hypothetical_box_a.html` as
`vertical-align: top`.

We actually don't support the other values correctly, and so this test
was relying on a bug in incremental reflow.
layout: Make incremental reflow more fine-grained by introducing "reflow
out-of-flow" and "reconstruct flow" damage bits.

This is needed for good performance on the maze solver.
util: Add persistent lists as a useful general-purpose thread-safe data
structure.

This will be used to improve our storage management for float lists.
layout: Employ a persistent list data structure to avoid copying floats
all the time.

Improves performance on the maze solver significantly since this was
basically O(n^2) before.
auto merge of #3830 : pcwalton/servo/persistent-list-floats, r=kmcallister

r? @kmcallister
auto merge of #3860 : pcwalton/servo/reflow-out-of-flow, r=glennw

This is the last PR and most of the work for the maze solver and RoboHornet. 

r? @glennw 
cc @cgaebel
Initialize 'cancelable' to false in Event::new_inherited. Fixes #3855.