Ensure Node.Normalize() acts on all descendants by recursively calling it on all non-text child nodes.
auto merge of #2221 : hazz/servo/normalize, r=jdm

Fixes #2170 by recursively calling `normalize()` on all children that aren't text nodes.
Set default scale based on dpi
Add support for dictionaries containing 'any'.
Move assignments outside match expressions in getJSToNativeConversionTemplate.

This is a first step towards making getJSToNativeConversionTemplate return an
expression, which will improve dictionary codegen in particular.
auto merge of #2224 : mbrubeck/servo/hidpi, r=metajack

On high-density (e.g. "Retina") displays, this will set the default scale to 1 px per screen coordinate, rather than the current 1px per hardware pixel. This means that content on high-density displays will be rendered at a higher resolution but about the same physical size, compared to lower-density displays.
Pass extra args through to wptrunner
auto merge of #2225 : Ms2ger/servo/any-dictionary, r=jdm
auto merge of #2216 : jgraham/servo/extra_args_wptrunner, r=jack
Move responsability for the assignment out of CastableObjectUnwrapper.

This is a second step towards making getJSToNativeConversionTemplate return an
expression, which will improve dictionary codegen in particular.

This commit does not make any change to the generated code.
Inline CGAbstractBindingMethod.getThis.

There's no good reason to keep this separate; it's only called once, and
inlining the function makes the code a little clearer.

This commit does not make any change to the generated code.
Assign to 'this' immediately in CGAbstractBindingMethod.

This makes the generated code a bit more rustic.
auto merge of #2227 : Ms2ger/servo/assign-outside-match, r=jdm
Rewrite the interface unwrapping to return an expression.
Rewrite the union unwrapping to return an expression.
Rewrite the DOMString unwrapping to return an expression.
Rewrite the any unwrapping to return an expression.
Rewrite the primitive unwrapping to return an expression.
Rewrite the enumeration unwrapping to return an expression.
Move responsibility for assigning to ${declName} out of getJSToNativeConversionTemplate.

This commit does not make any change to the generated code.