Rename some 'new' functions to 'new_inherited'.
auto merge of #1392 : Ms2ger/servo/Node-new_inherited, r=metajack

To match existing style for constructors that don't wrap.
Propagate up the right bits of style damage

The call to propagate_up was lost in eb1b40db13a13c27269c57bad60433e0597bbbeb.
Print restyle damage for debugging
Get rid of reflow_all

This refactoring should not alter behavior.
Call Element::after_set_attr only for null namespace
Allow setting id, class, style without a full reflow

Instead we do selector matching again, then diff the style structs to set the
"restyle damage" bits which are used to prune reflow traversals.

Also don't force a reflow when timers finish, because individual DOM methods
should already take care of that.
layout: Reference count `ComputedValues` structures like Gecko does.

This has no difference in CSS selector matching performance and results
in a 31% speedup in constraint solving on the rainbow page.
Disable remaining reflow traversal pruning for now

We don't reuse Flow objects between reflows, so we have no old values to fall
back to.

I think this used to work because FlowContexts (as they were called then) were
stored in a DOM node's LayoutData and reused.  But it's possible that it never
really worked, and my testing when I landed the restyle damage code was
insufficient (I didn't understand the layout code nearly as well back then).
auto merge of #1387 : pcwalton/servo/ref-count-style, r=pcwalton

This has no difference in CSS selector matching performance and results
in a 31% speedup in constraint solving on the rainbow page.

r? @kmcallister
test: Implement a reftest for Acid1.
auto merge of #1394 : kmcallister/servo/style-damage, r=pcwalton

This fixes the computation of restyle damage on `color-change-text.html`, which can be seen with `RUST_LOG=servo::layout::layout_task`.

However we can't prune the layout traversals yet, because we don't reuse `Flow` objects between reflows, so we have no old values to fall back to.

I think this used to work because `FlowContexts` (as they were called then) were stored in a DOM node's `LayoutData` and reused.  But it's possible that it never really worked, and my testing when I landed the restyle damage code was insufficient (I didn't understand the layout code nearly as well back then).

r? @pcwalton
auto merge of #1396 : pcwalton/servo/acid1-reftest, r=metajack

r? @metajack
layout: Store image dimensions inside image boxes instead of going to
the DOM for them.
layout: Perform text decoration propagation per CSS 2.1 § 16.3.1 without
going to the DOM.
layout: GC unused box methods
auto merge of #1398 : pcwalton/servo/propagate-text-decoration, r=pcwalton

going to the DOM.

r? @SimonSapin
auto merge of #1399 : pcwalton/servo/store-image-dimensions, r=kmcallister

the DOM for them.

r? @kmcallister