layout: Make `box-sizing` only affect explicitly-specified or percentage
sizes, not automatically computed ones.

Improves GitHub significantly.
fix debian install instructions
Remove support for {return,native,concrete}Type overrides in Bindings.conf.

We have no reason to support non-default type names, and this commit corrects
the computations for callbacks (which needed the override until now).
Add [foo=bar i] case-insensitive attribute selectors.
Rewrite the user-agent stysheet(s)

Based on https://html.spec.whatwg.org/multipage/rendering.html
rather than http://dev.w3.org/csswg/css2/grammar.html
Make Event::new take enumerated values instead of booleans (fixes #3643)
auto merge of #3615 : pcwalton/servo/box-sizing-fix, r=glennw

Improves GitHub significantly.

r? @glennw
Expose user agent option to DOM navigator interface.
Update reftests for UA stylesheet changes.
layout: Make content of `display: inline-block; overflow: hidden` visible.
auto merge of #3627 : steveklabnik/servo/master, r=larsbergstrom

This may be because I'm on Ubuntu, but this was the name of the package.
Include leading margin in inline block size

According to the documentation for Fragment::position, the inline axis
should include margin size, so we include it for blocks. Also fix
place_float which assumed that it was not included and
assign_inline_sizes which overrode the size set in
set_inline_size_constraint_solutions.

Typically this issue was hidden by large tile sizes, but fitted tiles
makes it more common.
auto merge of #3618 : mrobinson/servo/layer-sizing, r=pcwalton

Extra size from margins should be included in block size, so that
layers are large enough to include the entire block. This is typically
hidden by large tile sizes (512x512), but fitted tiles makes the issue
a lot more common.
auto merge of #3635 : SimonSapin/servo/ua-stylesheet, r=pcwalton

Based on https://html.spec.whatwg.org/multipage/rendering.html rather than http://dev.w3.org/csswg/css2/grammar.html

Fixes #3629.

r? @pcwalton
auto merge of #3608 : glennw/servo/user-agent-navigator, r=Ms2ger

This also makes command line options available as a global. If we're happy with that change I will go through the rest of the code and update it to avoid passing and cloning the Opts structure.
layout: Store containing block inline-size separately rather than
writing it to a temporary location and overwriting it.

This makes layout more idempotent, which is important for incremental
layout.

Also converts `is_root` to a set of flags and fixes a `TODO` concerning
percentage inline heights of images.
auto merge of #3604 : pcwalton/servo/inline-block-overflow-hidden, r=glennw

Makes lots of GitHub appear.

r? @glennw
auto merge of #3632 : Ms2ger/servo/bindings-conf, r=Manishearth

We have no reason to support non-default type names, and this commit corrects
the computations for callbacks (which needed the override until now).
layout: Refactor inline layout to remove the code that tried to avoid
splitting fragments.

I don't think it will be possible to avoid splitting fragments in the
presence of `vertical-align`, because one `ScannedTextFragment` could
potentially be split into arbitrary many fragments, each having its own
vertical position that can influence layout of other fragments.

This code also removes parts of `Range` that were no longer used.
auto merge of #3631 : pcwalton/servo/idempotent-inline-size, r=glennw

This makes layout more idempotent, which is important for incremental
layout.

Also converts `is_root` to a set of flags and fixes a `TODO` concerning
percentage inline heights of images.

r? @glennw