Pull out XHR helper
Create a helper method for creating XMLHttpRequests and migrate downloadPlaylist to using it.
Pull out code to manage different playlist download callbacks.
`downloadPlaylist` was quite complicated so try to tease apart some of the cases that were being managed there. Stopped playlists from refreshing when they're not currently active.