Rewrite of character grab in Haskell

Do you know what? I can't stand C++. This was a lot quicker to rewrite,
gives me a far more solid base to expand from and is inherently multi
platform.

And despite having to learn a bunch of new stuff was a lot quicker to
get up and running