Make camlp4 optional

/cc @Drup: please help reviewing this