add a favicon
Prevent panics when reconnecting the mpd client

Leave the old client open until we have a new one to replace it, as the
handlers assume the client is connected.
Fetch and render only a chunk of huge playlists

Fetching a huge playlist can result in output buffer errors on MPD, and
has unnecessary network overhead, and browser rendering overhead. This
change fetches only a slice of the current playlist, from the currently
playing song.