Add Python v3.14 and drop Python v3.9 support
### Python 3.14 pre-releases
- [x] Set up v3.14 test job
- (Optional) With `allow_failure: true`, to allow tests to fail
### Python 3.14 stable release
- [x] Handle deprecation warning and breaking features:
- [ ] When distributing Silkaj v0.20 with `py-substrate-sdk`, its dependency `py-ed25519-zebra-bindings` and `py-bip39-bindings` do not provide Py3.14 `musl` wheels for Alpine. Just an issue for the CI using Alpine Linux images. [py-bip39#24](https://github.com/JAMdotTech/py-bip39/issues/24)
- [ ] Switch back to Debian-based images?: docker/python3/poetry#11+
- [x] `py-sr25519` missing 3.14 wheels. I could circumvent the issue locally by setting the environment variable mentioned in [the ticket #22](https://github.com/JAMdotTech/py-sr25519/issues/22), [PR!25](https://github.com/JAMdotTech/py-sr25519/pull/25). But this is not a long term solution. A solution has to be found.
- [x] When dropping Py3.9 support, click gets bump from v8.1.8 to v8.3.0, because click v8.2.0 only have supports from Py3.10. click [v8.2.0](https://click.palletsprojects.com/en/stable/changes/#version-8-2-0) comes with some changes on `prompt()` which makes g1_monetary_license and auth tests failing. I have been confronted to this issue earlier on my local environment. I got click v8.3.0 installed as a transitive dependency of `rich-click` and due to a locking topic.
- [x] Follow-up issue not directly related to Python version support. [`mkdocs serve` doesn’t reload](https://github.com/squidfunk/mkdocs-material/issues/8478), [`mkdocs` ticket](https://github.com/mkdocs/mkdocs/issues/4032), [pin `click` version in `mkdocs`](https://github.com/mkdocs/mkdocs/pull/4058), [fix on `click` side](https://github.com/pallets/click/issues/3084), [PR](https://github.com/pallets/click/pull/3152). I can pin `click` to v8.2.1, let’s see when click will release this fix.
- with click v8.3.2, and `poetry run mkdocs serve --livereload` it works.
- (Optional) Remove `allow_failure: true`, now on the tests should pass
### Drop Python 3.9 support
- [x] Delete test job for v3.9 from `.gitlab-ci.yml`
- [x] `pyproject.toml`: Bump minimum versions:
- [x] `tools.poetry.dependency.python`
- [x] Bump `tools.ruff.target-version` and apply Ruff changes
- [x] v0.20 branch
- [x] v0.12 branch
### Post
- [x] Open follow-up v3.10/3.15 ticket: #508+
### References
- Expected to be release the [October 7th 2025](https://devguide.python.org/versions/).
- docker/python3/poetry#12+
issue