View contextual menu enhancements

Background
-----
This pull request enhances the existing canvas contextual menu to include view manipulation items (e.g. pan and rotate). It implements what is described in the following task tracked internally:
- [MAGN-3675](http://adsk-oss.myjetbrains.com/youtrack/issue/MAGN-3675) Implement view switching command on canvas contextual menu

![view-context-menu-both](https://cloud.githubusercontent.com/assets/5086849/3465125/30b1e3c6-025e-11e4-8776-6f07f62534bf.png)

Testing Scenarios
-----
Here are few things to look out for while testing these additions:
- Only ```Pan``` and ```Orbit``` operations can be toggled (i.e. they can be turned on/off and stay that way).
- When ```Pan/Orbit``` is active, the corresponding menu item should be ```checked```
- When ```Pan/Orbit``` is active, the corresponding canvas button (those on top-right corner) should be in blue color
- Pressing ```Escape``` key cancels the current ```Pan``` or ```Orbit``` operation

Side Notes
-----
There are several things to note with this pull request:
- ```Watch 3D``` nodes do not serve up the same contextual menu as in ```Geometry View```, but regular gestures to ```pan``` (middle mouse button) and ```rotate``` (right mouse button) are still applicable. The ```Zoom to Fit``` menu item remains available.

The following menu items use to be generated in code-behind file ```Watch3DView.xaml.cs```, which is not quite necessary, they can be made better with them being in XAML file. Note that the following properties are driven by data binding: ```Command```, ```Visibility``` and ```IsChecked```.

Important thing to note is that ```Pan```, ```Rotate``` and ```Switch to Node View``` items do not show up for contextual menu on ```Watch3D``` node (setting these states while being in node view do not have any meaning).

```PlacementTarget.DataContext``` in these binding expressions can either be ```DynamoViewModel``` or ```Watch3D``` (a ```NodeModel``` instance). The context menu items are hidden in the case of ```Watch3D``` by returning ```false``` for ```IsBackgroundPreview```).