Fix johnson subalgorithm.
Allowed negative penetration depth on the constraint solver.
Improved incremental contact manifold generation.

Now, there are less redundant contacts and contacts with negative penetration depth are sometimes kept.
Fix bug creating a normal full of NaN in some rare cases.
Improved contact solver performances.

It is now a lot faster than before since et exposes critical functions to allow the user to use the SPECIALIZE pragma to unleash the full power of inlining.
The position integration is now done at the begining of a frame update.

This makes big penetrations less visible.
Add INLINABLE pragmas to allow the user to SPECIALIZE the GJK algorithm.
Add function to retrieve the list of collisions from the collision graph.