shoes/shoes4 — pull request #976 by jasonrclark (2014-12-13 06:33:03+00:00)
Title: Limit parent-dimensioned elements to their parent's bounds

Part of #854, I noticed that backgrounds weren't respecting their parent's boundaries.

With this sample app:

```
Shoes.app do
@s = stack height: 250, width: 250 do
@b1 = background red, width:250
@b2 = background blue, width: 300, height:300, top: 50
@b3 = background green, width: 100
end
end
```

On master you'd get this result:
![image](https://cloud.githubusercontent.com/assets/130504/5422841/7221c8d8-824e-11e4-99f6-05c6938729a9.png)

On this branch with the fix, you get this instead:
![image](https://cloud.githubusercontent.com/assets/130504/5422843/8b3ec8c0-824e-11e4-9839-e819994a2be3.png)

To be honest, I'm not 100% sure if this is pixel-perfect on the boundaries, but it's definitely a lot better. Not a huge fan of the complicated `extent` override as it stands, so open to any suggestions for simplifying it.