Add overflow to child layer size

When creating child layers it is important to consider overflow when
determining the size of the layer. This also means that overflow should
not be too large, so also shrink block width down to the size of their
contained fragment. This means that a block that has been explicitly
sized to width:100px should be 100 pixels wide instead of the width of
its containing block.
Render in parallel
Allow render threads to be specified with -t
Add a command line option (-n) to use native threading, for testing.

I added this to test the impact of green threading.
Fix typos
Use internal mutability for XMLHttpRequest.
Merge pull request #2658 from saneyuki/xhr

Use internal mutability for XMLHttpRequest.
Enable IRC notifications from Travis CI
Correct the condition for generating CGGetConstructorObjectMethod.

As we don't actually implement the feature for which this is needed, I've
commented the call out for now and mentioned the issue for the feature.
Merge pull request #2679 from larsbergstrom/IRC_notifications

Enable IRC notifications from Travis CI
Generate code for NoInterfaceObject interfaces in InterfaceTypes and InheritTypes.

There is no reason for those interfaces to be excluded.
Pass the interface object-related arguments to CreateInterfaceObjects2 together in an Option.

This clarifies the code and fixes our support of NoInterfaceObject interfaces.
Use iterators to make some logic clearer
Use Option functions to make logic clearer
Make move mutation out of compute_minimum_ascent_and_descent
Remove some unnecessary mutable references
Keep calling the DefineDOMInterface method for NoInterfaceObject interfaces.

DefineDOMInterface also creates the proxy handler for proxy classes, so it
should be called in this case as well.
Make AttrList NoInterfaceObject (fixes #1223).
Use Option::expect instead of pattern matching in try_append_to_line_by_new_line
Clean up skip_while iteration