Dimensions object and a bit of duplicated data removed

Hi all,

this started out as beginning to remove duplicated data. But I noticed that this was just a bit too troublesome without a dimensions object and proper forwardings.

So what I would like you to mainly take a look at is `lib/shoes/dimensions.rb` and `spec/shoes/dimensions_spec.rb`, what this does is:

* introduce a dimensions object that can be initialized in mutiple ways
* provides other common methods related to dimensions (right/bottom) that currently reside in `CommonMethods`. As time moves most likely methods like `move` will also go inside here
* two modules (one for DSL objects, one for backend objects) that take care of forwarding all dimensions related calls to the dimensions object
* and of course tests for that all

You may also comment on the removed duplication, but that's not the main purpose atm :-) But ANY feedback very welcome! =D

Affected issues: #364 #161