Change the underlying monad of InterpM to IO.

This is needed to support prelude functions in the interpreter.
Make the interpreter support prelude functions.