Refactor CoAlgReasoner into class
CoAlgReasoner
implements multiple stateful solvers in one file. The concrete algorithm is selected by parameter game_solver
when calling the initReasoner
function.
It would be much cleaner to use the OCaml class mechanism (https://ocaml.org/manual/classes.html) here and have three subclasses of a generic solver virtual class. Then the different implementations would be neatly separated while still retaining a shared interface. Furthermore, this would force initialization and ease further extensions.