auto merge of #1550 : jdm/servo/logicalrange, r=metajack

...tor index failures.
auto merge of #1552 : jdm/servo/movegen, r=larsbergstrom

The WebIDL move wasn't quite correct. Now the dependencies and output directory are all correct.
script: Avoid an allocation when getting attribute data.

15% improvement in selector matching performance on the rainbow page.
style: Stop copying attribute names when looking them up in the hash
table.

40% improvement in selector matching performance on the rainbow page.
auto merge of #1554 : pcwalton/servo/faster-attribute-comparison, r=SimonSapin

15% improvement in selector matching performance on the rainbow page.

r? @SimonSapin
auto merge of #1555 : pcwalton/servo/faster-attribute-lookup, r=larsbergstrom

table.

40% improvement in selector matching performance on the rainbow page.

r? @larsbergstrom
layout: Port parallel layout over to a generic "work queue"
infrastructure.

The work queue accepts abstract generic "work units", which in this case
are layout operations. The same speedups have been observed.
auto merge of #1551 : pcwalton/servo/generic-parallel-layout, r=larsbergstrom

infrastructure.

The work queue accepts abstract generic "work units", which in this case
are layout operations. The same speedups have been observed.

r? @larsbergstrom
Revert PR #1554 because it's wrong.
auto merge of #1557 : Ms2ger/servo/fix-attr, r=SimonSapin
Do not lowercase names for *AttributeNS APIs. (Move lower-casing to callers.)
Restore perf improvement from #1554

Lower-case attribute names when parsing selectors rather than when
matching. This avoid one allocation in matching code.
Change Namespace::from_str to take &str, fix #1367
Move script::dom::namespace into util, in order to use it from style later.
Make get_attr() take a &Namespace rather than Option<~str>
Convert to Namespace during CSS parsing rather than selector matching.
Make Namespace::to_str() return a string.
Do not copy the result of get_link()
auto merge of #1560 : SimonSapin/servo/restore-1554, r=pcwalton

Lower-case attribute names when parsing selectors rather than when matching. This avoid one allocation in matching code.

Also do not lowercase names for *AttributeNS APIs. (Move lower-casing to callers.)
auto merge of #1561 : SimonSapin/servo/refactor-namespace, r=pcwalton

This builds on top of #1560 (… which I realize now may confuse Critic)

This refactors Namespace to reduce the overall amount of copying and conversion. In particular, it makes parsed selectors contain Namespace enums rather than strings.