Right and bottom

* adds right/bottom to Dimensions that work just like top/left - e.g. values applied relative to the containing slot for positioning
* uses meta programming to do so - was really necessary at first due to duplication now it's gotten better due to simplification which was...
* removing return values for unset left/top values. So far usnet left/top always (falsely) reported 0. In the original shoes they reported the offset relative to the slot start... which is kind of an odd behavior imo but we'll have to think about it. Honestly I want to deprecate it in favor of using the real absolute coordinates absolute_left/element_left and top etc. yehuda yehuda.
* also positions elements that do not take up space

Mainly addresses #526 

![screenshot from 2014-04-08 13 10 59](https://cloud.githubusercontent.com/assets/606517/2642846/d8cf763c-bf0f-11e3-8265-11fb43aedff9.png)

(master left - branch on the right)

It's much better now. The right edge is still a bit off. That's because that edge is a background and right now images get applied as background... so what the code does is add it as a repeating background throwing away position and everything. I'll see how to handle this in the `ImagePattern` class. May take me some time... but basically what it is used for here is not a real background will take some time to research shoes3 behavior.

Happy about code reviews etc.!
Tobi