iPython InputHook Integration

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?
What I want to avoid is much older / newer versions of IPython breaking anything in VisPy when this is an optional feature.  If the import or anything else doesn't work (e.g. the interact flag), then we just pretend nothing happened.

I could catch ImportError and AttributeError specifically, though.  How does that sound?