reworked main loop to be more intelligent
keep hold of whole 'queue' and use an index over it rather than pop'ing objects
redownload playlist manifest if it's old