Handle hiding windows a little more intelligently

We can just send a close event, then we don't have to worry about new display
events showing the window after we hid it.
Simplify closing video sources

Now that we are explicitly cloning every frame that we get, releasing
VideoCaptures no longer causes segfaults.