allow !.[] in typenames
allow * in typenames
don't highlight []* in type face
fix a bug that incorrectly fontifies struct/class keywords (when the type has type arguments) in type face.
eg. struct Vec(T, alias N)
Merge pull request #12 from finalpatch/master

Various changes to the new code for handling font-lock highlighting, plus a couple of regression fixes.