Switch from unmaintained pytube to yt-dlp. Check user is subscribed to YTM premium (#1387)
* Add option to use yt_dlp instead of pytube. yt_dlp is much slower but more reliable
* fix
* ruff
* Use format_selector to select bestaudio
* Add yt dlp as default stream resolver.
* Add check for YT Premium users.
* Remove unnecessary pytube log adjustment.
* Fix conflicts.
* fix return type and remove unused const
* use YTM_DOMAIN constant
* Disable quiet in yt_dlp for debug log level
* Catch DownloadError and raise UnplayableMediaError
* Check format_id that is likely to change than format
---------
Co-authored-by: Marvin Schenkel <marvinschenkel@gmail.com>