Add syntax highlighting for numeric literals

This includes:
- Syntax highlighting for integer+floating point literals
- Color option in the "Syntax Coloring" preferences

To deactivate highlighting for numeric literals one needs to set
its color to the same value as the default color.
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.
Apply review suggestions

This fixes a small bug in code block comments. If Scaladoc is
nested into a multi line comment and if the nested Scaladoc
contains a code block, the code block was highlighted which is
not the correct behavior.
Merge pull request #255 from sschaef/issue/semantic-highlighting-improve

Issue/semantic highlighting improve
Update CHANGELOG
Merge pull request #274 from sschaef/issue/changelog-update

Update CHANGELOG
Disable useless and expensive Java goodies for Scala sources.

* quick fixes and quick assists in Scala sources have no meaning, but may trigger pauses in the UI of more than 10 seconds
* Run As/Debug As testers may trigger hierarchy calculations, inducing 10s of seconds of delay in the UI thread, for instance when scrolling through a contextual menu. This disables 'Run As Java'

Fixed #1001434. Fixed #1001178.
Merge pull request #278 from dragos/issue/disable-quick-java-assists-1001434

Disable useless and expensive Java goodies for Scala sources.
Correct partitioning of octal sequences in character literals

The previous behavior was not correct because an octal sequence can
start not only with a '0' but with all signs between '0' and '7'.

Fix #1001443
Add syntax highlighting for escape sequences in character literals

Fix #1001444
Refactoring in ScalaSourceViewerConfiguration

- Grouping of code highlighting parts
- Allow iteration of components instead of managing them
  manually to reduce errors
Don't wait indefinitely for the hyperlink computer.

Hyperlinks are resolved on the UI thread, so timeout after 500ms.

Fixed #1001348, Fixed #1001251.
Merge pull request #275 from sschaef/issue/partitioner-correction

Correct partitioning of octal sequences in character literals
Merge pull request #276 from sschaef/issue/escape-sequences-characters

Add syntax highlighting for escape sequences in character literals