Do not compound iframe margins when positioning

Instead of taking margin size into account twice when positioning
layers, just rely on the absolute position calculated during display
list construction.
layout: Rewrite clipping to be per-display-item instead of having
a separate `ClipDisplayItem`.

We push down clipping areas during absolute position calculation. This
makes display items into a flat list, improving cache locality. It
dramatically simplifies the code all around.

Because we need to push down clip rects even for absolutely-positioned
children of non-absolutely-positioned flows, this patch alters the
parallel traversal to compute absolute positions for
absolutely-positioned children at the same time it computes absolute
positions for other children. This doesn't seem to break anything either
in theory (since the overall order remains correct) or in practice. It
simplifies the parallel traversal code quite a bit.

See the relevant Gecko bug:
https://bugzilla.mozilla.org/show_bug.cgi?id=615734
auto merge of #3654 : pcwalton/servo/clip-reform, r=mrobinson

We push down clipping areas during absolute position calculation. This
makes display items into a flat list, improving cache locality. It
dramatically simplifies the code all around.

Because we need to push down clip rects even for absolutely-positioned
children of non-absolutely-positioned flows, this patch alters the
parallel traversal to compute absolute positions for
absolutely-positioned children at the same time it computes absolute
positions for other children. This doesn't seem to break anything either
in theory (since the overall order remains correct) or in practice. It
simplifies the parallel traversal code quite a bit.

See the relevant Gecko bug:
https://bugzilla.mozilla.org/show_bug.cgi?id=615734

r? @mrobinson
Don't borrow CharacterData.data from layout.

This should fix the most frequent intermittent wpt failure.
auto merge of #3676 : Ms2ger/servo/no-text-borrow, r=Manishearth

This should fix the most frequent intermittent wpt failure.
auto merge of #3673 : mrobinson/servo/iframe-margin, r=pcwalton

Instead of taking margin size into account twice when positioning
layers, just rely on the absolute position calculated during display
list construction.
Create an almost-correct form_owner() for convenience
Add form submission via input element
Add click handler for <input type=submit>
Filter out buttons which aren't the submitter while constructing the dataset
Update wpt expectations
Address review comments
auto merge of #3652 : Manishearth/servo/form-button, r=jdm

Partially fixes #3647
Merge remote-tracking branch 'origin/master' into html4ever