Add support to the external interpreter for custom commands
It could be useful for GHC API clients to implement their own external
interpreter commands.
For example, the debugger may want an efficient way to inspect the
stacks of the running threads in the external interpreter. At the moment, you are limited to using the command set which is needed by GHCi.
If there was a `CustomMessage`, then the debugger could perform self-execution to launch the external interpreter with support for additional commands that are needed.
I have a POC branch here: https://gitlab.haskell.org/ghc/ghc/-/commits/wip/ghc-external-custom-commands
issue