Python/IPython InputHook Integration & Interactive Mode

First pass integration with iPython 3.x. A new InputHook is defined for VisPy, and it can be enabled from a magic command or by calling the enable_gui() function. A demo is also included.

Caveats:
* It only works with iPython 3.x, I had to get the master repository from GitHub.  This version has many more features for writing input hooks, and the old 2.x API is deprecated.
* I copied some of @rougier's code and used the same documentation.  I guess this needs to be formatted to VisPy's guidelines?

The demo `interactive.py` enables the input hook manually, but I wonder if this should be auto-detected somehow?
Use `c = Color(self.color).rgb` instead -- that way users can do `canvas.color = 'r'` (like I did) and have it work. Import color from `vispy.color`