Fixed SDL_GameControllerMappingForGUID() crashing if no more memory available.

The return value of SDL_malloc() was not checked and NULL therefore not handled.
NULL returned by SDL_GameControllerMapping()/SDL_GameControllerMappingForGUID()
now either means "no mapping" (as before) or "no memory" (just crashed before).
Added handling of NULL as input for SDL_GameControllerAddMapping().