should be the first item in the queue
This solves the problem that after clearing the queue and adding new
items while playing, aborts playback when skipped to the next item.
Decouple the playing/streaming item from the queue. Move all queue
related functions to seperate file queue.h/c.
Introduce internal item "head" to make iterating over the play-queue and
shuffle-queue easier.