work in progress audio routing
when a sink is attached, add it to a map

which maps data format to stack of sinks
decode thread: end of playlist sentinel and full checking for every sink
update init_filter_graph to route based on sinks
sink: separate create from attach / destroy from detach
Merge branch 'master' into audio-routing

Conflicts:
	Makefile
	README.md
clean up some loose ends
audio routing: implement buffers; refactor scan

scan no longer depends on private file context
expose GrooveSink buffer_size to public API
audio routing: decoding pushes data onto sinks
fill out more buffer fields before pushing onto sinks
it's compiling now
device sink: fix pause checking
fix segfaults on cleanup
use NULL for end_of_q_sentinel
rename GroovePlayer to GroovePlaylist
rename player.c to playlist.c
rename GrooveDeviceSink to GroovePlayer
rename device_sink.c to player.c