New QApplication and event-loop implementation stolen shamelessly from
IPython. Strangely, running the viewer at the IPython prompt will
open an orphan Matplotlib figure window, but running a script using
`%run` does not.
Only tested on PySide (not PyQt4).