Updates

This updates everything to use the new `externfn!` macro, makes SDL_image and SDL_mixer respect the mac_framework/dylib cfg's and fixes the demo to have SDL functions called on the main thread.