Add language definition for Haskell

This pull request adds language definitions for Haskell. While this has been tested to work with a few example programs, I havn't tested it in practice.
I'd love to maintain these language definitions in the future!
Could you add support for

* hex numbers (`hexit	→	digit | A | … | F | a | … | f`)
* floats (`float	→	decimal . decimal [exponent]` & `exponent	→	(e | E) [+ | -] decimal`)

? I know that this would be one of the first issues, so it would be nice if it was included right from the start.

See here for the full grammar: http://www.haskell.org/onlinereport/haskell2010/haskellch2.html#x7-190002.5