Extract a class to handle creating TextStyles
Use #public_send instead of #eval
Add specs for text fragments
Fix errors in extraction
Use TextStyleFactory for all text style creation

- Move all color handling to TextStyleFactory
Refactor text fragment helpers to work with Swt example
Rework how we track text styles for fragments

Instead of an Array[[Range, Text]], use a Hash{Range => [Text]}. Now,
on the DSL level, the fragment styles are organized by the substring
they apply to, so we have lots less processing to do in the backend.
Hooray for no more "nested_styles"! See spec/shoes/text_block_spec.rb
for an example of the expected format.
Rearrange code to help out poor 'span'
Extract style accumulation
Clean up

- Use convenience methods for creating fonts/styles
- Use better variable names, pass more parameters
- Remove extraneous respond_to? checks
- Attempt to write specs for TextBlockPainter, fail