Wrap Swt::TextLayout use in FittedTextLayout

In preparation for disposing of all the SWT resources properly for the
text blocks, centralize access to the TextLayout class in our already
existing wrapper class, FittedTextLayout
Wire up disposing of layouts

When we're either resetting the fitting on layouts at alignment time, or
if we're removing the widget entirely, make sure to dispose of the
underlying SWT layout elements.
Push FittedTextLayout a layer higher

Shoes::Swt::TextBlock needs to create fonts, so make sure that it has
the FittedTextLayout around (or can) so we can do the resource tracking.
Track SWT resources on FittedTextLayout to dispose

The FittedTextLayout is now responsible for holding onto the
Swt::Layout, Swt::Font and Swt::Color objects that get generated by it,
and will dispose of them when either being superceded by a later text
fitt, or when the text element is being removed/replaced entirely.
First somewhat working extraction of a Dimension class

* there aren't specs for all behaviors in place yet
* big task of wiring it up still left out
More advanced extent specs
real start_as_center support
Forgot some small specs
Move to ? methods return a real boolean
RenamedDelegate - delegate methods but rename them

* to get the magic of left calling x_dimension.start going
* will probably go and put it into its own gem... might be
  be useful for someone somewhere
Clear list after disposing
Don't have mark_to_dispose return element. Too subtle.
Wiring up Dimensions with Dimension

* ParentDimensions specs failing due to broken direct instance
  variable get behavior to check if a value has been modified
* small bug fixes of the dimension class on the way - specs
  are GREAT
All Dimensions specs pass!!! =D ParentDimension now works.
DSL level specs fixed by using FakeElement
Add parent_dsl to the swt_app context to fix swt image fails
Parsing input values straight in the writer
Getting rid off the *_modified? methods as not needed anymore
Delegate full logic to underlying Dimension class

* before it was relying on getting the values from there, less
  less logic and I implemented the query methods either way
Fixups and further specs here and there