Allow individual layers to render their own background color

Instead of relying on a scene-wide background color, all layers can now
have their own background color.
Removes duplicate CSS selector matching logic.

Now that DOM/Flow traversals have been refactored out, the `recalc_style_for_subtree`
function in `css/matching.rs` can be removed, in lieu of just running the standard
`recalc_style_for_node` and `construct_flows` traversals sequentially. Now we
no longer have the maintenance headache of duplicating selector matching logic
in two places! \o/

r? @pcwalton
Uncomments the multiple css class ref-test

This test had been commented out because it was breaking the travis ci
build but was passing locally.

Issue #3681
auto merge of #3668 : cgaebel/servo/sequential-reflow, r=pcwalton

Now that DOM/Flow traversals have been refactored out, the `recalc_style_for_subtree`
function in `css/matching.rs` can be removed, in lieu of just running the standard
`recalc_style_for_node` and `construct_flows` traversals sequentially. Now we
no longer have the maintenance headache of duplicating selector matching logic
in two places! \o/

This passes reftests with both default arguments, and with `-y 1`.

r? @pcwalton
Add a to_js method to the casting trait code in CodegenRust.py
Replace the manual checks and calls to transmute_copy in /layout/wrapper.rs with calls to to_js

Fixes #3616
auto merge of #3672 : mrobinson/servo/background-color, r=zwarich

Instead of relying on a scene-wide background color, all layers can now
have their own background color.
auto merge of #3655 : kaseyc/servo/add_to_js_method, r=jdm

Replace the manual checks and calls to transmute_copy in /layout/wrapper.rs with calls to to_js/

Fixes #3616
Update rust-http to pick up latest additions.
auto merge of #3680 : jdm/servo/updatehttp, r=jdm,metajack

Needed for #3596.
Add DOMRefCell<T> for safe borrowing in layout.

This type simply wraps `RefCell<T>` to add the special method,
and introduce the method to return the pointer of the value contained in
itself, for used in layout task.
Use DOMRefCell<T> in Attr.
Use DOMRefCell<T> in Element.
Use DOMRefCell<T> in CharacterData.
auto merge of #3574 : saneyuki/servo/cell, r=jdm

#3050
auto merge of #3682 : gilles-leblanc/servo/issue-3681, r=jdm

This test had been commented out because it was breaking the travis ci
build but was passing locally.

Issue #3681
Remove the reflector field from Document.

This field became unused in commit 99a36cbeb6077976861d94b7af16e9e57994a14d.
auto merge of #3685 : Ms2ger/servo/doc-reflector, r=jdm

This field became unused in commit 99a36cbeb6077976861d94b7af16e9e57994a14d.
embedding: implement cef_string_utf16_cmp()
embedding: begin cef string_list api

cef_string_list_alloc()
embedding: cef_string_list_size()