Big refactor

 * Start reworking the parser
 * Change the unification implementation
 * Strong partition between parsed syntax and core syntax