Better IPython notebook integration

This PR  allows Glue to run in the IPython notebook without blocking the notebook, and without breaking the glue ipython console. It currently requires the ~newest version of IPython master -- the IPython people have changed their module layout significantly within the past few days in preparation for 1.0, and we assume the new layout.

For things to work, the notebook must be started with `ipython notebook --gui qt` (or %gui qt must be executed before calling Glue). In addition, if PyQt4 is to be used, the `QT_API=pyqt` environment variable must be set, otherwise IPython will load an incompatible version of the PyQt4 API.