QtCanvas

Adds QWidget subclasses that make it more natural to work with vispy from PyQt applications. The widgets `QtCanvas` and `QtSceneCanvas` each wrap methods from their `Canvas` and automatically embed the native QGLWidget.

Depends on #529
Well if I call `from .backends._qt import QtGui` before a backend is selected, it generates an exception.
I suppose I could do something like this instead:
```
if 'PyQt4' in sys.modules:
    from PyQt4 import QtGui
elif 'PySide' in sys.modules:
    from PySide import QtGui
else:
    raise Exception(...)
```
..but it seems weird that two different parts of the vispy code are independently making this same decision. Perhaps the selection of a Qt library should just be moved to a place that is always importable (actually, `app/qt` seems like a reasonable place for that..).