Implement Shape type and intersect functions
Move collision code from Ball to Tangible

Replace collideRectangle and collideBall in Ball with a more generic
collide in Tangible. Negate normals so that they make sense when used in
reflect. Rewrite hacky collision checking in World by using maybe.
Merge branch 'shape'

Conflicts:
	src/bweakfwu/Movable.hs