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
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.
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
Merge pull request #2667 from mrobinson/overflow

Add overflow to child layer size
Merge pull request #2609 from brson/parallel-render

Render in parallel
Revert "Merge pull request #2609 from brson/parallel-render"

This reverts commit 850bd2891de589b95e32dc8f0b59d4043ed1e0a3, reversing
changes made to 5b0feac32a3ef13a76670eb2f5f21e7b598fc890.
Merge pull request #2685 from larsbergstrom/revert_2609

Revert "Merge pull request #2609 from brson/parallel-render"