Port to Swift

Tried to port your code to Swift in a couple of hours - if you like it, merge to ANOTHER branch ('swift' in my case)
Still don't like falling back to NSString / NSArray, have to wait for another beta :)
Cheers!