Change the way we manage constraint.
Constraint implementation now inherit from ConstraintFunction that know his base type.
Now each constraint implementation can add/remove themselve to the solver with addToSolver/removeFromSolver.
Update python binding.