skip empty lines

they can appear anywhere!
first pass at ParseModule using parser combinators

We split the source into three sections of interest: the language
pragmas, the optional module declaration, and the imports.

No information is extracted from these sections yet; I will probably
delegate to haskell-src-ext.