Makefile: fix dependencies using ocamldep
pretty: refactor to print strings, not stdout directly

We need this for sane error reporting.
cookast, pretty: emit helpful def and defn parse errors