Finally fix all compile errors

Changes to src/Haemu/Monad.hs:
  - Use Immutable / Mutable indicators to specify immutable / mutable
  HaemuStates
  - Factor out Instruction Pointer of HaemuState -> CallStack is now
  part of HaemuM. (StateT layer)

Changes to tests/HaemuMonad.hs:
  - Fix all the compile errors that were introduced throught the changes
  to Haemu.Monad