Improved contact reduction for manifold generation.
Refactor code and add friction handling.

Current friction handling is not very good since the friction limits are hard-coded.
Add an aditional termination condition for the GJK.

When something wierd happens to the bounds, we stop the algorithm.
Refactor solver code.
Fix GJK not initializing the simplex properly.
Improved incremental contact manifold update.
Add definitions for bounding volumes.
Add constructs to allow optimizations when shapes are transformed.
Impulse solver now uses unboxed vectors.
Add some comments.
Add a function to modify the state of a body from outside of the physics world.