Perform clumping and text shaping during box building

This is a preliminary step to adding parallel text shaping. In order to have enough time to do a useful amount of work in parallel, we need to trigger text shaping earlier. This PR moves TextRun creation into the box building phase of layout.

I'm pushing this in before the rest of the text shaping patches to avoid bitrot; it's already been through one unpleasant rebase.