Fix makefiles
Rewrite everything (work in progress)

In this commit we allow parsers to error, introduce a new callback, and change the signature of the old callbacks.