Removed Fixture.beginContact and Fixture.endContact signals

To react on begin/end contact events, you now have to set World.contactListener. This avoids the need for two signals for each contact event and makes sure that when not used, this feature causes no overhead.

Also, contact events are no longer delayed. Problems that may happen when changing Box2D state will need to be fixed another way.

This pull request is still a little bit work in progress, since the 'contacts' example is not behaving exactly like it used to for some reason and I still need to investigate this. But the important part is to consider the API is this form.