layout: Implement incremental reflow.

See commit messages for details. I had to fix a nasty iteration issue with generated content and an issue in how `FlowList` removes elements in order to get this working.

r? @SimonSapin (or whoever would like to review it)