thread: fix inconsistent return values - SDL_CreateMutex returns NULL when the creation fails (ngage) - SDL_SemValue returns 0 when the semaphore is NULL (n3ds) (cherry picked from commit 6875e1c262ae968a4fb52b367cf6912d9c76d4c9)