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)

@Benglin Once the watermark disappears after typing in the code block it doesn't reappear even if the code block is empty. I don't think the watermark needs to reappear at this point as the user is already aware by now that the empty space is used to type in something.