compositing: Translate clip rects into the coordinate systems of child
layers when doing hit tests.

Fixes clicking on links on the second page of Hacker News.
layout: Implement `word-spacing` per CSS 2.1 § 16.4.

This assumes that there are no ligatures that span across multiple
words. Since we have a per-word shape cache, this is a safe assumption
as of now. I have left comments to ensure that, if and when this is
revisted, we make sure to handle it properly.
auto merge of #4357 : pcwalton/servo/compositor-hit-test-clipping, r=mrobinson

Fixes clicking on links on the second page of Hacker News.

r? @mrobinson
Factor out part of the traversal routine in HTMLCollection.

I would move the filter() call into the traverse function as well, but the
callback can't outlive its stack frame.
Skip the root node in live HTMLCollections.

The root node is never included in the collection, and omitting it here
simplifies and speeds up the filter implementations.
auto merge of #4363 : Ms2ger/servo/collectionfilter, r=Manishearth
auto merge of #4360 : pcwalton/servo/word-spacing, r=mbrubeck

This assumes that there are no ligatures that span across multiple
words. Since we have a per-word shape cache, this is a safe assumption
as of now. I have left comments to ensure that, if and when this is
revisted, we make sure to handle it properly.

r? @mbrubeck
Make DOMParser::ParseFromString actually parse the string
auto merge of #4297 : ChrisParis/servo/parse, r=Ms2ger

Addresses https://github.com/servo/servo/issues/3756. I've tested this code with a new test that I've submitted to https://github.com/w3c/web-platform-tests.
layout: Implement `overflow-wrap`/`word-wrap` per CSS-TEXT § 6.2.

This property is used by approximately 55% of page loads.

To implement the line breaking behavior, the "breaking strategy" has
been cleaned up and abstracted. This should allow us to easily support
other similar properties in the future, such as `text-overflow` and
`word-break`.