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
There isn't a way to abort currently, although perhaps that'd be useful.  I'd check for keywords in the block for the function regex as well.