Commit Briefs
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.