Apply Strategy pattern for syntax highlighting

This does not compile and has several other solvable issues. However, it is a modest proposal to apply the strategy pattern to the SyntaxHighlighting code. The purpose is to reduce class size and simplify design.

Things to do before I will make a more serious pull request:
* Apply proper code style
* Fix CSharp language class HTML references
* Reduce code in ILanguage classes
* Fix IDisposable problem
* The rest to make a clean, compilable and workable change