Added ScalaCodeTokenizer.tokenize which takes a String instead of an IDocument.

ScalaCodeTokenizer.tokenize asked for a IDocument only to right away get the IDocument's contents and then never use it again. It makes more sense to just take the contents as a string directly, which is what this change does.
Also deprecated ScalaCodeTokenizer.tokenize(IDocument, Int, Int).
Improved new ScalaCodeTokenizer.tokenize API to minimise allocation of string objects on caller side.
Merge pull request #462 from jhaberstro/scala-code-tokenizer-interface

ScalaCodeTokenizer.tokenize takes String instead of IDocument.