VIDEO: Moved SDL initialization and cleanup from event thread to the primary thread.

This allows for any errors to be caught more easily and seems to be required on some platforms (OSX).