Replaced Code block editor with AvalonEdit UI and added syntax highlighting

This pull request merges all intermediate PR's from the "changeCBNtextEditor" branch (https://github.com/DynamoDS/Dynamo/tree/changeCBNtextEditor) that have been created for the implementation of the new AvalonEdit based code block editor. The new editor includes syntax highlighting features and support for tabs and is at par with the existing functionality.

The PR's that have gone into "changeCBNtextEditor" have already been reviewed and tested.

@Benglin PTAL.