Reworked Code block editor using user control to fix port alignment and watermark issues

This submission fixes the following issues in porting the existing code block node to the new Avalon based Editor:

Port height and line height in text editor mismatch – AvalonEdit does not provide a way to control line heights
Watermark was not working
Borders around new editor UI were not visible
The above issues are resolved using a new approach - custom (UserControl) control container around AvalonEdit UI. See files:
1. CodeBlockEditor.xaml
2. CodeBlockEditor.xaml.cs

Note: This PR includes the implementation for basic syntax highlighting as well.

Pending tasks:
- Run UI automation tests on the new CBN editor after these changes and fix regressions if any
- Fix existing bugs with misalignment of input ports when there are line spaces in the text

@Benglin  please review

Snapshot:
![image](https://cloud.githubusercontent.com/assets/5710686/4182383/87f2fff4-372d-11e4-9944-3a0de6df9b89.png)

These still hurt my eyes till today, can you create a new YouTrack task (linking to this PR comment) for the following:

1. Clean-up these code block node related constants, removing ones that are not used anymore.
2. Group them together in ```Configurations.cs```
3. Rename them (e..g ```CBNFontSize``` to ```CodeBlockFontSize```).

Please don't edit this file for now to avoid more merge required down the road (esp. when they are repositioned). A link to the YouTrack task is highly appreciated. Thanks!