inline pseudo element
Rename before_remove_attr and after_set_attr to allow reusing those names in the next commit.
Add support for trait-based virtual methods on Nodes, and use it for before_remove_attr and after_set_attr.
Integrate Element's after_set/remove behaviour into the virtual method hierarchy.
Add overridable tree binding/unbinding behaviour.
Remove the IElement trait.
Make register_named_element more efficient
Add a reftest for the pseudo element
split servo build into library (non-android) for use in embedding
auto merge of #2071 : hyunjunekim/servo/try, r=larsbergstrom

If <span> element has pseudo style, draw pseudo element.
auto merge of #2087 : Ms2ger/servo/vtable2, r=jdm

Fixes #1527. Does *not* include the code for #1528.

(Originally by @jdm in #1688 and #1866.)
auto merge of #2094 : Manishearth/servo/id-efficiency, r=Ms2ger

This improves the code written for #1822 to use a single linear traversal.

The current code uses a binary search with `CompareDocumentPosition()` for comparing element position, however this method internally calls `traverse_preorder()` (i.e. a linear traversal) so calling this on every pass is quite inefficient.
A couple of != reftests (#2090)
Add the second reftest (#2090)
auto merge of #2098 : Manishearth/servo/ref-noteq, r=metajack

See #2090

One reftest compares a green image to a white div. The other has green text being compared with normal text.

If necessary, I can add some absolute positioning ones.
auto merge of #2095 : zmike/servo/servo-lib, r=larsbergstrom

In pursuit of #441

r? @larsbergstrom
Turn on GC all the time. Fix rooting errors during parsing and storing timers. Fix borrow errors during tracing.
Implement safe rooting strategy via Unrooted, Root, JSRef, and JS.
Remove JS::get/get_mut to enforce sound rooting practices.
Move WebIDL methods to traits implemented by JSRef types.