layout: Make absolute position calculation idempotent.

This will be necessary for incremental reflow of absolutely-positioned
flows.
test: Mark the inline element in `inline_hypothetical_box_a.html` as
`vertical-align: top`.

We actually don't support the other values correctly, and so this test
was relying on a bug in incremental reflow.
layout: Make incremental reflow more fine-grained by introducing "reflow
out-of-flow" and "reconstruct flow" damage bits.

This is needed for good performance on the maze solver.
auto merge of #3860 : pcwalton/servo/reflow-out-of-flow, r=glennw

This is the last PR and most of the work for the maze solver and RoboHornet. 

r? @glennw 
cc @cgaebel