make queue generic so we can reuse it

organize groove.h
GroovePlayer has an event queue now