app.use -> app.use_app;  gl.use -> gl.use_gl

Plus addressing a few other comments
Define backends in vispy.util._use and import it in app.backends

In this way we do not have to keep two lists in sync