I think moving the early return when `takes_up_space?` is `false` actually regresses slightly when we do end up positioning with one of those "spaceless" items (i.e. `Background`, `Border`).

Wrote a small test app:

```
Shoes.app do
  button "ok"
  background tomato
  button "not ok anymore"
end
```

When run on master it looks like this:
![screen shot 2014-04-08 at 8 27 31 pm](https://cloud.githubusercontent.com/assets/130504/2651744/ef8dc996-bf96-11e3-8d4b-fb797248f5b3.png)

On this branch it looks like this:
![screen shot 2014-04-08 at 8 27 48 pm](https://cloud.githubusercontent.com/assets/130504/2651746/f5c07412-bf96-11e3-9ead-0feb82db6f17.png)

And I'm pretty sure the difference is that we're calling `position_element` on the `background` where we weren't before.

I do agree that the `if`/`else` is clearer, but seems like the other two lines should get sucked into the `if` block.