Use temporary buffer for `ghc-display`

Instead of opening a normal editable buffer (in which editing text does
not make a lot of sense), use Emacs's temporary buffer. Benefits:

   - Read only: Text cannot be modified when focused.
   - Much easier to close (press q), after reading or copying from the
     warning/error.

Includes another minor change i.e. automatic focus on the error buffer after display.