Release 2.12.0

⚠️ Breaking change to install development dependencies ⚠️

To install development dependencies, you need to run `pip install -e . --group dev` instead of `pip install -e .[dev]`.

### Added

- Add HATEOAS links to show permissions on collections/items/upload_sets. See https://docs.panoramax.fr/backend/api/api/#permissions for more details.
- Add a `panoramax_backend` command to the Python package, as an alias to the `flask --app geovisio` command.

### Fixed

- Fix bug on python3.13 where running a command could hang with logs like "couldn't stop thread 'pool-1-worker-0' within 5.0 seconds"
- Nearby picture (`related` link type) was not returned if picture heading was greater than current picture one.

### Changed

- The `migrations` folder has now been moved to the root of the package, so it is available when installing the package using pypi.
- The default web pages are more up-to-date (viewer v4, Panoramax logos, links to docs.panoramax.fr)
- The python dependencies are now managed using [dependency groups](https://flit.pypa.io/en/latest/pyproject_toml.html#dependency-groups) instead of the `[project.optional-dependencies]` section. So you need to install the dependencies using `pip install -e . --group dev` instead of `pip install -e .[dev]`, and the `dev`/`format`/`docs`/`build` groups are available, but not part of the released package. This also means that `pip` minimal version is now `25.1` (only for development). Run `pip install --upgrade pip` to upgrade your pip version.
- Update dependencies to support Python 3.14 🥧