Add syntax highlighting for escape sequences

This includes:
- Syntax highlighting for escape sequences in single line strings.
  For multi line strings they are not highlighted because there
  an escape sequence contains effective two characters and not
  a single one, thus in that place the compiler doesn't interpret
  them as an escape sequence.
- The changes contain highlighting for standard escape sequences
  like new-line characters as well as octal and unicode sequences.
- Only correct escape sequences as described by the Scala
  Specification in §1.3.6 are highlighted.
- Color option in the "Syntax Coloring" preferences
- A new document partitioner that can split single string tokens
  into string and escapse sequence parts.
- Test class for the document partitioner
- Correction of a bug in MockDocument
- Minor refactorings in the test suite

To deactivate highlighting for escape sequences one needs to set
its color to the same color as for string highlighting.

Fixes #1001372
Move symbol highlighting from semantic to syntactic highlighting

For more performance the highlighting of symbol literals is moved
to the syntactic part of the highlighter.

To deactivate highlighting for symbol literals one needs to set
its color to the same value as the default color.
Add syntax highlighting for Scaladoc

This includes:
- Syntax highlighting for Scaladoc annotations, macros and code
  blocks. The highlighting of annotations and macros is done by
  a new introduced scanner whereas code blocks are highlighted by
  another scanner. The latter are separated because a change in
  the document partitioner must be implemented. The previous
  behavior was to partition Scaladoc as a single block - now code
  blocks have an own partition. This was done since the current
  damager/repairer can only handle single lines, but code blocks
  most of the time span multiple lines. Therefore the new
  introduced Scaladoc scanner was unable to determine if a code
  change belongs to a code block or not. With the new partition
  model this problem does not occur because each scanner belongs
  to a separate partition.
- Color option for annotation, macros and code blocks in the
  "Syntax Coloring" preferences
- Test class for the new Scaladoc scanner and new test cases for
  other components

To deactivate highlighting for Scaladoc members one needs to set
its color and text style to the same value as for normal Scaladoc.

Fixes #1001172
Add auto indent strategy for Scaladoc code blocks

Scaladoc code blocks, introduced in the previous commit, are now
automatically indented with the same auto indent strategy
already available for Scaladoc.
Update syntax colouring preview text

Code example creation for the new introduced highlighting for
escape sequences, symbol literals and Scaladoc.

Correction of lazy local val highlighting example.
Separation of tokenizing logic from StringTokenScanner

To test the tokenizing logic, it was required to separate it from
the scanner because the scanner has dependencies to UI classes
that are not available in a UI-less testing environment.
Separation of tokenizing logic from ScaladocTokenScanner

To test the tokenizing logic, it was required to separate it from
the scanner because the scanner has dependencies to UI classes
that are not available in a UI-less testing environment.