Implement highlighting for Objective-C

Finding identifiers in Objective-C is complicated by Objective-C's named parameters. A method call can look like
```
[object callMethodWithArgument:arg1
              andOtherArgument:arg2]
```
in these cases, coloring `callMethodWithArgument` and `andOtherArgument` differently would be misleading since they're really parts of the same thing. So, the easiest thing to do is to not highlight identifiers followed by `:`. Unfortunately, since Emacs regex doesn't have negative lookahead, this requires adding another regex that, if it matches, disqualifies an `IDENTIFIER-RE` match from being an identifier.