Use consistent names for threading.Event objects
image: Register callback through the constructor

The process for registering the image load callback is now aligned with how it
works for artist and album browsers, inbox post results, searches, and
toplists.

This brings the number of different callback registration schemes down from
three to two. The other being the multi-callback scheme that is used by
sessions, playlist containers, and playlists.
Add @serialized to a callbacks that modify session._callback_handles

As these are all probably called from session.process_events() this may be
redundant, but better to be explicit than to be sorry.
playlist: Change TODO to XXX, as we can live with it