Issue/api syntax

Creates APIs for the syntax support:
- common code for the syntax highlighting preference pages
- API for the Scala tokenizer/partitioner
Well, this method is private. If I want to extend it piecewise (not rewriting all the other `CodeScanner`s), there's really nothing I can do, is there ?