Improved type highlighting

- Now specifying the type assignments as 'Type' highlights
- The values of the assignments are now 'Special'
- Now handles function type highlights properly
- Highlights => and => differently depending on usage
  - In a type declaration, => is a keyword
  - In a case or function block definition is a PreProc
- There's some duplicated regexes in here so that I can classify different
  instances of the same match as different groups