Remove hard dependency on camlp4

This is a preliminary pull request. Discuss, but do not merge yet.
`open Lwt` is bad practice. There was only one identifier directly pulled from Lwt (apart from `return`) in the whole codebase anyway.