Added mouse KeyInput values

As described in ':help <MiddleDrag>' the mouse processing in vim is
actually processed as keyboard mappings.  This change adds the
appropriate key entries for the mouse events that are possible in
Windows
Added an IMouseProcessor

The IMouseProcessor implementation is responsible for driving the mouse
event passing to the IVimBuffer instance.
Switched the mouse processing to be routed through key events

This switches the existing mouse event processing to instead go through
the key input system.  This is how gVim does it and now that the correct
mapping is available it can be routed through key processing.

#closes 1234
Merge pull request #1268 from jaredpar/fixes-1234

Fixes 1234
Merge remote-tracking branch 'upstream/master'