script: Use a 16-element `SmallVec` for the root collection.

In my tests the size of the root collection never exceeded 7, so 16
seems like a nice conservative number.
script: Avoid a temporary when constructing `<td>` and `<tr>` elements.

Was a huge improvement to RoboHornet.
script: Use `String::new()` instead of the formatting infrastructure
when constructing DOM unique IDs.

This was showing up in the RoboHornet profile.
script: Don't dirty nodes that are already dirty.
script: Don't create a temporary vector on the heap when inserting
non-fragment nodes.
script: Use an FNV hash to hash event listeners.

The security properties of SipHash are irrelevant for event listeners
and the creation of the random number generator was showing up high in
the profiles.
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
Remove suggestion to use #[must_root] for functions
Cleanup the implementation of HTMLTableElement::GetCaption.
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
script: Fix busted document fragment appending code