First pass at providing a simpler ContactListener interface.

Collection of listener functions can be individually set.
Maps directly to Box2d's single receiver setup for events.
Hooks for user-defined listeners exposed in the Sandbox.