Issues remaining:
* Long hiccups in the event loop make the streaming source stop playing. It won't resume automatically - which is bad.
* Long streaming buffers create lipsync issues, even with OpenAL's supposedly accurate playing time. Add the previous point (which requires long buffers to avoid streaming to halt), and we're in trouble.
* Code a GUI.py abstraction for playing videos in full screen... so it's mod-friendly (right now, everything's too low level). Mostly the interaction with the Music DJ, which is complex.
The first two issues would be easily solved by threading the streaming part of the renderer... will have to look into that.