layout: Eliminate the virtual `is_float()` in favor of the flow flags
layout: Incrementalize reflow of block formatting contexts impacted by
floats, and make float placement idempotent.

This moves float placement outside sequential block size computation.

Improves the maze solver.
auto merge of #3904 : pcwalton/servo/maze-solver-float-placement, r=cgaebel

r? @glennw @cgaebel
layout: Implement `opacity` per CSS-COLOR § 3.2.

This adds the infrastructure necessary to support stacking contexts that
are not containing blocks for absolutely-positioned elements. Our
infrastructure did not support that before. This minor revamp actually
ended up simplifying the logic around display list building and
stacking-relative position computation for absolutely-positioned flows,
which was nice.