Refactor background image, fix fixed attachment. Improve acid2.
Convert a method from &JSRef to JSRef

This also removes the unnecessary formation of a trait object.
auto merge of #3535 : glennw/servo/fixed-bg, r=pcwalton
auto merge of #3536 : zwarich/servo/more-jsref, r=Manishearth

This also removes the unnecessary formation of a trait object.
Use LayerPixel for Layer bounds and most arguments

When interacting with Layers it is simpler to use LayerPixels, which
are unscaled pixels in the Layer coordinate system. This removes a lot
of room for error and makes things simpler.
auto merge of #3537 : mrobinson/servo/scale, r=zwarich

When interacting with Layers it is simpler to use LayerPixels, which
are unscaled pixels in the Layer coordinate system. This removes a lot
of room for error and makes things simpler.
Remove a prefix from a method name by manually resolving methods
Add a lifetime parameter to the ElementHelper trait

This refines the lifetime used in get_local_name / get_namespace and
makes it independent of the lifetime on the &self parameter.
Disambiguate methods without using trait objects
Refine a lifetime parameter on TElement's get_local_name
Convert the remaining ElementHelpers methods to take self
Add Copy bounds to TNode / TElement
Convert TNode / TElement to use self methods rather than &self
Remove an unused lifetime parameter
auto merge of #3540 : zwarich/servo/more-jsref, r=jdm
Convert the NodeHelpers trait to use self methods
auto merge of #3541 : zwarich/servo/more-jsref, r=Ms2ger
Add the defenition of InvalidNodeTypeError.
Implement some Range attributes.

  * Range.startContainer
  * Range.startOffset
  * Range.endContainer
  * Range.endOffset
  * Range.collapsed
Add NodeHelpers.length().