This PR fixes a couple issues primarily for Spotify to reduce API usage. The two issues are:
Volume and seek control were buggy because every step in the popup slider sends a message to the controller, meaning going from 80 volume to 50 would send 30 messages and kick off 30 API calls, making it buggy and super inefficient. I've added debounce logic to fix this.
Queue API calls were reduced to happening only once every 30 seconds or when the current song changes. However, this can lead to out of sync queues if songs are added or removed from the queue. Now, the observer emitters only make calls to emit events when the popup is actually open, allowing us to lower the queue cache to once every 5 seconds.
Overview
This PR fixes a couple issues primarily for Spotify to reduce API usage. The two issues are: