Initial commit of relative dimensions support

This will resolve issue #380. The Dimensions class needs an update to draw the
width and/or height from the parent, which now needs to be passed in to work
properly.

For the time being I've chosen to make it graceful if an object doesn't pass
the parent, but this might not be necessary once all the DSL elements properly
support the parent.
resolved merge from master
Merge pull request #1 from PragTob/jasonrclark-relative_dimensions

Merge in master branch
Shared examples for dimensioning
Apply shared dimensions spec throughout DSL
Potential fix for Shoes::CheckButton dimensions

Turns out that both Shoes::Button and Shoes::CheckButton derive from SwtButton, but
only Shoes::Button's DSL was being allowed to set widths appropriately here.
Further dimension additions
Don't type-check in SwtButton
Fix for relative dimensions on star
Merge resolved
left --> left_or_hash (which is what it really is)
parent as required argument for Dimensions
Merge branch 'master' into jasonrclark-relative_dimensions
Element#remove spec

* partially from master but I needed the parent to be in place
  for an easy spec =)
relative dimensions dynamically adapting to the parent
No relative dimensions for absolutely positioned elements (e.g. Art aka rect, oval, etc.)

* it totally messed up expert-tankspank (shots/shells were gigantic)
* it also seems to be the shoes3 behaviour although I find it to be
  slightly inconsistent
Fixing button app to really take dimensions into account