Make sure timers are initialized before any threads start

This prevents race conditions and divide by zero if multiple threads start using the time functions simultaneously.
diff --git a/src/thread/SDL_thread.c b/src/thread/SDL_thread.c
index 890ba2f..5b5dae8 100644
--- a/src/thread/SDL_thread.c
+++ b/src/thread/SDL_thread.c
@@ -27,6 +27,7 @@
 #include "SDL_systhread.h"
 #include "SDL_hints.h"
 #include "../SDL_error_c.h"
+#include "../timer/SDL_timer_c.h"
 
 /* The storage is local to the thread, but the IDs are global for the process */
 
@@ -371,6 +372,10 @@
 
     SDL_InitTLSData();
 
+#ifndef SDL_TIMERS_DISABLED
+    SDL_TicksInit();
+#endif
+
     /* Allocate memory for the thread info structure */
     thread = (SDL_Thread *)SDL_calloc(1, sizeof(*thread));
     if (!thread) {