@almarklein this allowed `glfw` to be re-added to `test_multiple.py`. This is a hack that can be removed once we settle on the correct place to put `_vispy_set_current`.

I *think* what might be happening is that each of the other backends (qt, pylget, glut) automatically sets their window to be the current context when doing `process_events`. `glfw` doesn't because we hacked our own event loop for it. Thus we haven't needed to explicitly do `_vispy_set_current` for any backends, since when running `glfw` on its own it would never be an issue, and when running any of the other backends (even simultaneously) they take care of switching. This is my hypothesis anyway. It would still be cleanest to add `_vispy_set_current` any time a `paint` event is called for consistency, so let me know what you think about the best approach for that.