You shouldn't get axis and hat events when your application doesn't have focus (unless you use the SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS hint)
Made SDL_PIXELFORMAT_ARGB8888 the default texture format for consistency across renderer implementations.