Towards reproducible deployment

This includes four changes made over the course of getting _tryhaskell_ 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.