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
Enable IRC notifications from Travis CI
Merge pull request #2679 from larsbergstrom/IRC_notifications

Enable IRC notifications from Travis CI
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"
Use internal mutability for Attr::value.
fixup! Use internal mutability for Attr::value.