Background process for Haskell-tools that provides a way to use the tools on a
whole project. It also makes it possible to use the tools on the project in a
session, reloading modules when needed. The daemon library is independent of
the actual set of tools, and takes them as a parameter, so the system can be
easily extended by creating a simple new Main module.