move haddock library to a separate haddock-api package

This patch moves the haddock library to `haddock-api` and adds a new `haddock` package with just the executable in the `haddock-executable` subdir.

I added a `build-executable` flag (manual) so it's still possible to get the executable with the `haddock-api` package, for testing.

I also exported a few more functions from `Documentation.Haddock`, required to build `haddock-ghcjs`