Add SDL_ConvertSurface and fix SDL_SetAlpha

* Implement SDL_ConvertSurface (https://wiki.libsdl.org/SDL_ConvertSurface) works only for default emscripten pixelformat
* Replace SDL_DisplayFormatAlpha implementation with SDL_ConvertSurface
* SDL_SetAlpha (http://www.libsdl.org/release/SDL-1.2.15/docs/html/sdlsetalpha.html) should ignore alpha channel if flag SDL_SRCALPHA is not set
this attempts to restore the previous state, I assume? how about saving it before, or asserting that it is in fact `source-over`?