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.
Clear list after disposing
Don't have mark_to_dispose return element. Too subtle.
Merge branch 'dispose' into dispose_text

Conflicts:
	lib/shoes/swt/fitted_text_layout.rb
	lib/shoes/swt/text_block.rb
	lib/shoes/swt/text_font_factory.rb
	lib/shoes/swt/text_style_factory.rb
	spec/swt_shoes/text_block_spec.rb
Removing incorrect spec after dispose change
Merge branch 'dispose' into dispose_text
Centralize more font/styling in FittedTextLayout

Since the FittedTextLayout class was already responsible for some of the
resource management because of creating Swt::TextLayout objects, I'm
moving toward having it be the central point that holds onto the SWT
resources for text block rendering.

This required some test updates, as things were a bit too tightly
coupled. There are more changes on the way (for instance the fitter
shouldn't need to talk to the text block to get a new FittedTextLayout
anymore), but those will wait for a later commit.
Further untangling of TextBlock classes

No reason to delegate generating layouts to Shoes::Swt::TextBlock anymore.
Add the text_dispose memory benchmark by @jasonrclark to benchmarks
Adding leak hunter for running down SWT resource leaks
Track all Swt Resource subclasses, report totals

- tracks all known Swt::Graphics::Resource subclasses
- in addition to the count => backtrace report, also includes a
  class => total report
- adds tracking for resources that were disposed without being tracked.
  These seem to be all Swt::Graphics::GC objects. Probably these are the
  objects created by Swt (i.e. we didn't call .new on them), that we are
  not disposing ourselves.
Add backtrace report for untracked disposals
Merge pull request #674 from shoes/dispose_text

Dispose of SWT resources used by TextBlocks
Clear resources after disposing
Move leak_hunter.rb to tooling directory
Merge pull request #689 from shoes/clear_after_dispose

Clear resources after disposing
Merge pull request #682 from shoes/leak_hunter

Adding leak hunter for running down SWT resource leaks