Add a haskell init function and helpers

Lots of helpers so far that let you customize a lot. You can even
bind keys to anonymous functions.