Beginnings of text centering

This commit will return a special text segment type for a centered
TextBlock. This segment consumes as much space as possible to provide
the default "centering" experience most users would expect for text.

Work remains for dealing with situations when this isn't the first
element on a given line (for now we'll be bumping down), but this gets
the basic centering in place.
Centering bumps to new line

For now to keep things simple and reasonable, if a text block is
centered, then we bump it down to its own line and carry on from there.

This is accomplished via a similar technique to the empty layout we use
when there's not enough space left on the starting line for any real
text with normal text blocks.
Fix for center text in nested slots
samples/sample56.rb working with centering now
Merge pull request #749 from shoes/center_text

Handling for text centering