Import the WebIDL parser from Gecko.
Remove support for external interfaces.
Reinstate IDLCallbackType.module.
Add support for undefined default values for 'any'.

This also updates TestBinding to take into account the automatic default
for optional 'any' arguments and dictionary members.
Remove unsupported extended attributes from IDL.

These were silently ignored so far.
Make Attr::value private.
Simplify Element::set_attribute for its remaining callers.
Implement Console.assert.
gfx: Binary search for the start position when iterating over the slices
in a text run.

This makes painting of text display items faster and matches what Gecko
does.
Remove PaddedUnsafeFlow.
Fix type the type name.
Remove 'LayoutNode.pad' field.
Implement HTMLIFrameElement.src.
auto merge of #2621 : pcwalton/servo/binary-search-fix, r=brson

in a text run.

This makes painting of text display items faster and matches what Gecko
does.

Incorrect automatic derivation of `TotalOrd` broke it last time.

r? @brson
auto merge of #2612 : saneyuki/servo/rm_pad, r=jdm

Fix #2512
auto merge of #2624 : mbrubeck/servo/units, r=pcwalton

This fixes an issue where the CSS viewport was too large on high-DPI displays
because it was set to the window size in device pixels, instead of px.  This
patch ensures that the window size is converted from device pixels to px
before being passed to script/layout code.

The Window trait now exposes the window size in both device pixels and
density-independent screen coordinates, with clearer method names.
script: Inline `is_element_for_layout` and friends.

8% improvement on style recalc on Wikipedia.
auto merge of #2611 : Ms2ger/servo/webidl-parser-sync, r=jdm
auto merge of #2618 : Ms2ger/servo/console-assert, r=jdm
auto merge of #2626 : pcwalton/servo/inline-get-element, r=jdm

8% improvement on style recalc on Wikipedia.

r? @Ms2ger