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