Reuse hint interpreter session

This makes evaluation of haskell code much faster, by leaving the hint interpreter running. Even if M-x is replaced by a static list of functions, I think it's still useful to be able to execute arbitrary haskell code, just as emacs has M-x and M-S-: to eval arbitrary lisp code.