Commit Briefs
add a monitor functionality
this pings all the "interesting" events to clients that issued a IMSG_CTL_MONITOR, except to the one that generated such event.
mp3: don't scale back to 16bps
libmad gives us sample at 32bps, but we scaled back to 16 because minimad.c does so. However, the scale producedure from minimad.c kinds of corrupts some audio files, they don't play well. We can leave the problem to sndio which solves it better than us.
keep current song in a dedicated variable
playlist.songs[play_off] is not a good representation for the current playing song after all. After a `load' command, or a flush request, the play_off changes but we're still playing the "old" song. This saves the current song in a dedicated variable that's updated upon playlist_advance and playlist_previous, thus givin a more accurate view.