Add auto reconnection and re-authentication logic to `wsClient`.
* **WebSocket Connection and Reconnection:**
- Modify `createWSClient` to include reconnection logic.
- Add `connect` function to handle WebSocket connection and reconnection attempts.
- Set `reconnectAttempts` and `maxReconnectAttempts` to manage reconnection attempts.
- Implement exponential backoff for reconnection attempts.
- Log error when maximum reconnection attempts are reached.
* **Authentication:**
- Add logic to re-authenticate using a token stored in `localStorage` upon WebSocket connection.
- Set `isAuthenticated` flag based on re-authentication success.
- Log error if re-authentication fails.
* **Error Handling:**
- Add `onerror` event handler to log WebSocket errors and close the connection.
---
For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/MasterGordon/minesweeper/tree/v2?shareId=XXXX-XXXX-XXXX-XXXX).