Chunk and region rotation works

Still have to see how rotation interacts with margin cropping.
World rotation seems to work

Also moved measure_world to the top of world.c as it's called before the
get_margin functions.
Refactor the margin functions

Hopefully the comments in these aren't too confusing.

Also updated one of the example graphics to show custom block shapes.