Improve syntax highlighting

- Change `HiLink`s to be more semantically correct (according to `:help
  :hi`)

- Add `jsIdentifier`: matches any identifiers (variable names, function
  names, property names, etc)

- Add `jsFuncCall`: matches functions being called (example: matches
  `doStuff` in `var foo = bar.doStuff()`)

- Add a bunch of operators (`&&`, `>=`, `<`, `||`, `!`, etc)

- Remove `jsSource` and `jsCommonJS` - not true language features

- Add `jsUndefined` and `jsNan`

- Change `jsFunction` to a `keyword`