shoes/shoes4 — pull request #101 by wasnotrice (2012-08-03 14:57:46+00:00)
Title: Refactor positioning

I noticed on [code climate](https://codeclimate.com/github/shoes/shoes4) that there is some extremely complicated code (and also some duplication) in the new layout system. When I looked closer, I realized that the layout code was also not under test. Before I started to refactor the code, I wanted to get it under test so I could be sure not to break any behavior. This branch demonstrates the process of

- putting untested code under test to describe the current behavior
- refactoring the now-tested code for readability and to eliminate code duplication

It's not completely done, because I think the positioning code ultimately belongs in the container, not in the element being positioned. That will remove more conditionals (`parent.is_a(Flow)?`), but it will also eventually require changes to the specs, which I'm not ready to do quite yet.