layout: Incrementalize reflow of block formatting contexts impacted by floats, and make float placement idempotent.

r? @glennw @cgaebel
It seems weird to me that the inline size comes from the hypothetical position and the block size comes from the normal position. Is this intentional?