Gl gloo merge2

Fixed @Eric89GXL 's gl-gloo-merge branch. Tests for gl-backends is still a WIP, but will work on it after the merge. I pushed to vispy main repo, so anyone (e.g. @rougier) can add commits to this PR.