Collision event dispatching!

Also, material now applies to a whole compound shape, so any physics
instance can only be a single material, mass, restitution, and friction.

Run the BasicDemo to see the collision events in action.