Refactoring of Layout/positioning in slot

* elements now no longer position themselves (removed positioning method from CommonMethods that also duplicated code) rather the slots take care of appropriately positioning elements since this is what slots do
* Flow and Stack finally have some differing code but still heavily rely on what is defined in slot
* General Slot refactoring - pulling out lots of methods
* positioning code should be a lot more readable through lots of extracted methods with speaking names
* deleted a whole set of specs from button_spec that checked if positioning worked, semantically moved them to flow_spec/stack_spec
* Added set_size to TextBlock#initialize so that newly created text blocks know about there size

For now I removed support for aligning something right and the according button specs, but I will add them back in (also with a slightly different way of handling things).

So it's not yet fully ready to be merged although I hope to get to it today/in the coming days.

Feedback on the code in general and especially the readability is **very welcome**

Cheers,
Tobi