Use GlyphStore::char_len rather than constantly re-casting GlyphStore::entry_buffer.len()
Use bitflags! for RestyleDamage
Fix the vertical alignment error for img tag.
Use bitflags! for NodeFlags
auto merge of #2592 : june0cho/servo/fix_vertical_align, r=SimonSapin

It fixes the wrong vertical alignment for img element. (related to #2422, #2554)
Worked with @ryanc
auto merge of #2589 : bjz/servo/cleanups, r=pcwalton

@pcwalton r?

Might conflict with the rust upgrade - I can rebase later.
Don't require root pipeline to match new pipeline

This reverts 2b0134be7bb8a4372f1a8703b5a1b114e65351f6 because it was
not correct for iframes.
Implement TElement for JSRef<Element>
Implement TNode for JS<Node>
Added ParentNode.querySelector skeleton
Implement querySelector for Document
Implement querySelector for DocumentFragment
Implement querySelector for Element
Added content tests for querySelector
gfx: Binary search for the start position when iterating over the slices
in a text run.

This makes painting of text display items faster and matches what Gecko
does.
auto merge of #2584 : pcwalton/servo/binary-search, r=SimonSapin

in a text run.

This makes painting of text display items faster and matches what Gecko
does.

r? @SimonSapin
Don't use mem::transmute for the argument to CreateProxyHandler.
Remove htmlmainelement.rs again (re-fixes #2541).
JSON response support and some default headers
Squash a warning about deriving traits on a struct that contains a raw pointer.