Debugger: Cleanups/adjustments to syntax interfaces.

- Add missing public keyword for SyntaxHighlightSource/SyntaxHighlightInfo.
- Add initial set of basic syntax highlight types.
- Remove SyntaxHighlightSource. Instead, add a general purpose LineDataSource
  interface to the model classes. Correspondingly adjust SourceCode to inherit
  from it and fixup its derivatives accordingly; also adjust SyntaxHighlighter
  to take a LineDataSource rather than a SyntaxHighlightSource.
Debugger: Add skeleton C/C++ syntax highlighter classes.
Debugger: Minor refactoring.

- Break the expression evaluator's tokenizer out into its own separate
  header so that the syntax highlighter can also make use of it.
Debugger: Improvements to C-style expression tokenizer.

- Add recognition of several additional types of tokens that, while
  not necessary for single line expressions, will be needed  for
  parsing/highlighting source files. Also rename tokens for open/close
  paren to reflect their content more accurately, and adjust callers
  accordingly.
Debugger: Implement C++ syntax highlighter.

- Implement a basic highlighting engine for C/C++. Not yet used/tested,
  as SourceView will first need some adjustments in order to acquire
  and make use of the highlighter modules in the first place.
Debugger: Use syntax highlight info for source code view.

SourceView:
- Request syntax highlight information when new source file is set.
- Adjust _FormatLine() to also patch raw syntax highlights to match
  up with calculated tabstops.
- Draw strings in pieces corresponding to how they're broken up in
  terms of syntax highlights with colors.
Debugger: Cleanup.

- Rearrange source_language subdir to have only the interface classes
  at the top level, and devote a subdir to each language-specific
  implementation of them.