Fixed updating of physics extensions; fixed header guards; other.

The physics systems are now automatically updated, such that
the user does not have to manually update them. It has been
implemented by creating a general way to add callbacks for
execution just before the collision events (if any) are performed.

There were also some errors related to header guards in the
physics systems, including a header guard name shared between
two headers. The header guard error was fixed, and the header
guard names were changed to decrease the risk of collision.

Since the updating of collisions are now handled by callbacks
instead of having a function in the collision system, that part
of the collision system interface has been removed.

The changes to the two physics systems, Box2D and StudioPhysics,
as well as the changes to the 4 collision systems, BBox, BBox3D,
None and Precise, have been tested and verified to work.

Fixes #203.
Merge branch 'master' of https://github.com/enigma-dev/enigma-dev