More Swifty improvements

Following up on the discussion in #172, I made capitalized identifiers highlight as `Keyword.Type`. Also fixed a few edge cases and simplified the code a little bit.

I tested the changes on some (quite complex) files from my Swift project and I'm quite happy with the result :)

Unless I broke something on the way that I didn't notice, I think we should be set for a while ;)

/cc @ole
is it possible to push a state after seeing these keywords rather than using negative lookbehind?