Refactor generated OCaml lexers to handle custom tokens correctly

* Use PrettyPrint
* Allow comment delimiters of more than 2 characters
* Fix #111
* This also fixes some pending OCaml tests