highlight type names even when they appear in the first column
treat 'qualified', 'as', and 'hiding' as keywords only in import statements
expand operator pattern to include arbitrary operators with hyphens

The pattern still excludes comment sequences consisting *only* of hyphens.
exclude the 'where' and 'let' keywords from hsFunctionList
unify the hsOperator pattern and improve handling of `.`
treat a #! line at the start of a haskell source file as a comment
match a list of function names between `where` and `::`
Merge pull request #4 from nybble41/master

Generalize the operator pattern, plus some minor tweaks