@almarklein and I spent a long time trying to get `qt` to work in testing, and this was the only thing that really fixed it. It seems like having the old windows from previous tests not be destroyed, somehow they end up breaking later tests somehow. Not sure if it's because they get destroyed later and that affects Qt, or if they set their contexts as current briefly and that breaks something, but we could not find another reliable solution. If you're really curious, you can view the (quite long) Github and gitter conversations we had about it. It was a real pain to make go away...

We could try destroying it on `__del__`, but I'm not sure whether or not it would work. I personally prefer keeping the backends consistent even if it's non-standard for Qt, since consistency in behavior like this usually makes things better in the long run.