Haskell Support

- [x] Find ast/token parser.
- [x] Cabal package.
- [x] Find a testing framework
- [x] Create some system level smoke tests.
- [x] Port core modules (basic features).
- [x] Add explicit from-string
- [x] Hook up via NPM package.
- [x] Make publishable to Hackage.
- [x] Setup code coverage testing.
- [x] Publish a initial release to Hackage.