Station icons now get converted to a JPEG with a maxmimum dimension of 290 on icon request.
Although we need to implement caching and aspect ratio keeping, this should fix issues with incompatible station icons and HTTPS icon URLs.
Adds a new package dependency: Pillow
Some AVRs do not allow an ID larger than 15 characters. Thanks to Marc for pointing that out.
Use a MD5 hash (128), XOR fold it (64) and cut it to size (48). This way we _should_ still have enough uniqueness and can generate a checksum which fits the limits.
Generate IDs by hashing the station name and URL.
These IDs should be sufficiently unique.
We _may_ run into performance issues with a very large definition, but it should be fine for a sane amount of custom stations.
Revisit once we implement a custom station database.
This greatly improves loading times and takes some load off the APIs.
* Add generic directory class to also hold item count
* Radiobrowser: Get station count directly from API
* Optionally show broken stations and their count
* Remove minimum station bitrate to not filter away some listings
* Improve code wording
* Log API requests