Non rectangular frames

This implements non-rectangular frames:

![custom_frames-1](https://cloud.githubusercontent.com/assets/314716/3429602/bb907a98-0056-11e4-8b5b-b416fe1f1be2.png)

![custom_frames-3](https://cloud.githubusercontent.com/assets/314716/3429603/bcf49f68-0056-11e4-8253-4c539c35d153.png)

@anizami - these are only indentation changes because I added an if clause, to make sure it works for non-rectangular axes (below).