Issue/api syntax

Creates APIs for the syntax support:
- common code for the syntax highlighting preference pages
- API for the Scala tokenizer/partitioner