Handle generated content with `display: block` correctly during flow
construction.

The iteration was incorrect here. Although it accidentally worked
before, it will cause problems when we have incremental style
recalculation.

The `after_block_iteration` reftest will become interesting once we have
incremental style recalc.
layout: Remove `layout/extra.rs`.

Also, rename a few methods in layout that arguably had confusing names.
layout: Implement incremental style recalculation.

This involves using flows from previous reflows to construct new flow
trees. It temporarily removes the old damage calculation pass.

The reftest `setattribute_id_restyle_a.html` is a good test of
this functionality.

The new added reftest `after_block_iteration.html` verifies that
pseudo-elements interact properly with reusing flows from layout to
layout. Without the iteration changes made in the prior commit, this
would cause a hang. This is a minimized test case that came from
Wikipedia.

There are some known issues with incremental reflow:

 * We leak text on every resize.

 * Maximizing the window causes layout to hang.

 * The Wikipedia tabs drift down the page.

 * Images on Wikipedia vanish.

 * Not enough damage may be done to the document if sibling selectors
   are present.

 * Not as many optimizations are implemented as Gecko and WebKit.