This commit fixes the "userSettings is null" error that occurred in the worker when trying to join or create a game.
- Introduced IUserSettings interface to define the contract for user settings used in the worker.
- Updated UserSettings class to implement IUserSettings and provide a getData() method for serialization.
- Modified WorkerMessages to include serialized user settings in the InitMessage.
- Passed user settings from ClientGameRunner to WorkerClient, and then to the worker.
- Updated createGameRunner to accept IUserSettings and pass it to getConfig.
- Corrected type inconsistencies across various configuration and theme classes to align with IUserSettings.
- Re-added missing imports in relevant files.