Sending key events through script task before processing them in the compositor.

Fixes #4163
auto merge of #4347 : negge/servo/backspace4, r=jdm

...positor.

Fixes #4163
Don't include the root element when calling Element#getElementsByTagNameNS.
Follow-up to work done in #4304.

all_elements should ignore root as well.
gfx: Implement `letter-spacing` per CSS 2.1 § 16.4.

The ligature disabling code has been manually verified, but I was unable
to reftest it. (The only way I could think of would be to create an
Ahem-like font with a ligature table, but that would be an awful lot of
work.)

Near as I can tell, the method used to apply the spacing (manually
inserting extra advance post-shaping) matches Gecko.
auto merge of #4325 : pcwalton/servo/letter-spacing, r=mbrubeck

The ligature disabling code has been manually verified, but I was unable
to reftest it. (The only way I could think of would be to create an
Ahem-like font with a ligature table, but that would be an awful lot of
work.)

Near as I can tell, the method used to apply the spacing (manually
inserting extra advance post-shaping) matches Gecko.

r? @SimonSapin
auto merge of #4354 : neojski/servo/getElementsByTagNameNS-filter-root, r=Ms2ger

This fixes #4349.
Return real page titles and URLs for devtools tab choices.

Fixes #4167.
Update PowerMeasure.py post-cargoify
Groove and Ridge rendering shows a solid border when color is black,
that is broken and the current patch will implement a similar behavior
as Firefox.
Adding tests to check behavior. There are 3 files that will test:
a) If the groove border is different from a black border (the bug that this
patch set fixes);
b) If a ridge border is different from a black border (samething);
c) If groove is different from ridge (they should be inverse of each other).

All 3 new tests passes on OSX Yosemite (10.10).
Restored older behavior for lighter color, should fix
the regression.
auto merge of #4300 : servo/servo/fix-power, r=Manishearth
auto merge of #4324 : Adenilson/servo/grooveBorderColor01, r=pcwalton

Groove and Ridge rendering shows a solid border when color is black, that is broken and the current patch will implement a similar behavior as Firefox.
script_task, handle_msgs: sort for pattern constructor
script_trask, handle_msgs: factored out handle_msg_from_constellation
script_trask, handle_msgs: factored out handle_msg_from_script
script_trask, handle_msgs: factored out handle_msg_from_devtools
layout: Refactor inline layout a bit.
layout: Implement `text-indent` per CSS 2.1 § 16.1.

I had to use a somewhat unconventional method of computing text
indentation (propagating from blocks down to inlines) because of the way
containing blocks are handled in Servo.

(As a side note, neither Gecko nor WebKit correctly handles percentages
in `text-align`, at least incrementally -- i.e. when the percentages are
relative to the viewport and the viewport is resized.)