library: detach library's model while updating the library view

This:

* increase slightly the performance while updating the library's model,
  since it redisplays, sorts, and does stuff related to the view only once
* also prevents the view from emitting too much events when the model
  is being updated - this is clearly visible when logging the scroll events
  while switching the type of the view; Artwork library updates are much
  less intensive now (library used to pile down stuff to the library's
  artwork updater, it's much less the case now).
library: don't overupdate the library's artworks
doc: update CHANGELOG with library perf improvements
thread: use Gio instead of threads to download DNDed covers
thread: MPD connections are not in a thread anymore

* mpd.MPDClient() is not thread-safe, per python-mpd2 documentation
* there were race conditions if the connection was too slow
* this thread was doing too much things outside of the main thread
* long commands were blocking Sonata anyway due to bad threading management

It works as good (and as bad) as before. It makes sense to have the
connection to MPD not blocking the UI, but it has to be done correctly,
and I prefer to remove all the bad threading management now, and
refactor this part later if it causes problem and we find a good way to
do it.
threading: remove some not-so-useful threads