Draft: Set up GitLab CI and modernize project setup
- Set up Ruff format checking, MyPy type checking, and PyTest testing through GitLab CI (failure allowed for all)
- Convert setup.py to pyproject.toml
- Switch build backend to Hatchling
- Expand .gitignore
Bug: T349531 Bug: T348999 Bug: T378789 Co-Authored-by: fab fkaelin@wikimedia.org