Fix initialization.

SDL_Init can only be called once, and needs to be called before any
call to InitSubSystem. To make this work, we introduce the
sdl_main_init function, which is called from all of the init
functions, to do the initial init. Then we can use SDL_InitSubSystem
to init the appropriate portion of SDL.

While at it, called event.init from display.init, because that matches
how pygame does it.