Replace `click_selector` by `wait_for,` which is a selector that we must wait for before considering the page loaded.
Also added `select_wait_for`, which returns the waited for element. Oddly this may be needed in some case (such as `artifactory.py`) where the `page.content()` does not contain the waited for element.
Allow stale responses in case of error in order to reduce the number of temporary errors.
Note that the cache will be reset on the first build of every week in any cases, see .github/workflows/update.yml.
Make the Apple script compatible with the way update.py now works, which is 'product' oriented, meaning the script will be called once for each product.
To minimize the impacts the responses are now cached to avoid rate-limiting by support.apple.com.
Version patterns have also been moved to product's auto configuration to make future changes simpler.
Replace request_html by playwright, as request_html, as it is [not maintained anymore](https://pypi.org/project/requests-html/) and scripts using it, such as artifactory.py, started to fail.