* feat: start work on chillhop scraper
only the basic get request with caching has actually been implemented,
but the rest shouldn't be too complicated.
* feat: finish chillhop scraper
* chore: remove vscode dir
* chore: upload new chillhop list for comparison
* fix: improve scraper and remove duplicates
* style: reorganize release scan function slightly
* fix: make lowfi compile on non-linux
* feat: make scraper fully reproducable (hopefully)
* chore: remove useless mut
* feat: add scrape feature flag
* chore: update deps
* chore: i hate macos
* chore: add .DS_Store to gitignore
* fix: ignore two tracks with lyrics
* fix: seperate get function from chillhop scraper
* fix: linux audio output stream
* chore: replace chillhop old list
* feat: initial work on decoupling embedded list file & the rest of the app
* chore: rename tracks.txt to lofigirl.txt
* fix: make base optional
* feat: partially revert previous commit
* feat: fix loading tracks with explicit url
* fix: include list in main player struct
* chore: reduce timeout
* chore: remove unused import
* fix: rename InitialProperties to PersistentVolume
* feat: move persistent volume init to player init function
* feat: add micropop.txt as an example of a custom tracklist
* docs: add note about mp3
* docs: move format of lists to list struct docs
* docs: document custom track lists
* fix: fix silly spelling error
* docs: update formatting
* docs: fix sample formatting
* docs: add missing sample track
* fix: fix ui when track name has special characters
* fix: use proper char counting on subject, not word
* fix: use unicode-segmentation to finally fix handling special characters
* fix: precompute track len
* fix: switch to using the unicode-width crate
* style: split off list into it's own module
* fix: move logic to read a list from the fs into the list module