Towards reproducible deployment

This includes four changes made over the course of getting _hl_ ready to deploy with [Halcyon](https://halcyon.sh/).

1. Declare `ViewPatterns` in all modules which require this declaration under GHC 7.8.

2. Clean up leftover hidden imports.

3. Instead of hardcoding port 1990, read the `PORT` environment variable.

4. Allow the `hl` binary to disregard the current working directory by declaring all files needed at run-time in the Cabal package description, and using Cabal to locate them at run-time.