DOC Update website to `pydata-sphinx-theme`

This issue is a continuation of [#26809](https://github.com/scikit-learn/scikit-learn/pull/26809) and aims to migrate the scikit-learn website towards [`pydata-sphinx-theme`](https://pydata-sphinx-theme.readthedocs.io/en/stable/). As this is an ambitious goal, this issue is to track the steps of the migration. cc @lucyleeow who guided me to open this issue.

#### Quick links

- [The `new_web_theme` branch](https://github.com/scikit-learn/scikit-learn/tree/new_web_theme)
- [Tracker for upstream issues](https://github.com/scikit-learn/scikit-learn/issues/28084#issuecomment-1893103722)
- Live preview: https://scikit-learn.org/_pst_preview

#### TODO before merging into `main`

- `doc-min-dependencies` is bypassed in CI for now and we need to reactivate it before merging into `main`. Also, we need to make sure all dependencies are documented, in particular `sphinx-design` which was not added in the very first setup PR. See also [#28379](https://github.com/scikit-learn/scikit-learn/pull/28379).
- Remove the `new_web_theme` part in `.circleci/config.yml`.
- In `conf.py`, change the version switcher link to `https://scikit-learn.org/dev/_static/versions.json`.
- Remove `themes/` and update `exclude_patterns` in `conf.py`: these are only useful for the old theme.
- Pin higher versions of `sphinx`, `pydata-sphinx-theme`, and `sphinx-gallery`. See also [tracker for upstream issues](https://github.com/scikit-learn/scikit-learn/issues/28084#issuecomment-1893103722).

#### Tracking work towards the `new_web_theme` branch

- [x] https://github.com/scikit-learn/scikit-learn/pull/28132 
- [x] https://github.com/scikit-learn/scikit-learn/pull/28331
- [x] https://github.com/scikit-learn/scikit-learn/pull/28336
- [x] https://github.com/scikit-learn/scikit-learn/pull/28347
- [x] https://github.com/scikit-learn/scikit-learn/pull/28353
- [x] https://github.com/scikit-learn/scikit-learn/pull/28379
- [x] https://github.com/scikit-learn/scikit-learn/pull/28401
- [x] https://github.com/scikit-learn/scikit-learn/pull/28409
- [x] https://github.com/scikit-learn/scikit-learn/pull/28408
- [x] https://github.com/scikit-learn/scikit-learn/pull/28415
- [x] https://github.com/scikit-learn/scikit-learn/pull/28428
- [x] https://github.com/scikit-learn/scikit-learn/pull/28448
- [ ] https://github.com/scikit-learn/scikit-learn/pull/28478
- [x] https://github.com/scikit-learn/scikit-learn/pull/28511
- [x] https://github.com/scikit-learn/scikit-learn/pull/28512
- [x] https://github.com/scikit-learn/scikit-learn/pull/28623
- [x] https://github.com/scikit-learn/scikit-learn/pull/28630
- [ ] Fix admonitions (**Todo:** make e.g. `.. note:: something` into `.. admonition:: something` with `:class: note`)

#### Tracking work related by towards the `main` branch

- [x] https://github.com/scikit-learn/scikit-learn/pull/28387
- [x] https://github.com/scikit-learn/scikit-learn/pull/28376
- [x] https://github.com/scikit-learn/scikit-learn/pull/28315
- [x] https://github.com/scikit-learn/scikit-learn/pull/28272
- [x] https://github.com/scikit-learn/scikit-learn/pull/28271
- [x] https://github.com/scikit-learn/scikit-learn/pull/28255
- [x] https://github.com/scikit-learn/scikit-learn/pull/28134
- [x] https://github.com/scikit-learn/scikit-learn/pull/28107

COMMENT:
Yes there is an additional manual process involved to solve the conflicts, I think this is unavoidable. This would be a bit weird to have additional dependencies in `main` that we don't use ...

Unless I am missing something, if you want to merge `main` into `new_web_theme` this is already a manual process right and you need to open a PR? The additional step is to fix conflicts before opening the PR. There is probably a way to make it less painful by running something like this (not tested so probably need to be adapted):
```bash
# I never know --theirs vs --ours and it depends whether you do rebase or merge I think
git checkout --theirs -- build_tools
python build_tools/update_environments_and_lock_files.py --select-build 'doc$'
git a build_tools
# or use rebase if you do rebase
git merge --continue
```

Labels: Documentation