Improve metadata image handling

Keep full image type from CAA/MB (ie. back+spine)
Saving those as back-spine.jpg is now possible
Introduce main cover concept, since front type wasn't clear enough.
Main cover is:
- first image with front type
- first image
- there's only one main cover
- it is used in place of "front", even though it is often the same,
  especially when only one image is found

To ease things a new class MetadataImage was added and is now used for Metadata.images elements.
Naming of image files (when saved to local) was modified, and now use a callback
function to generate it (mostly because it depends on main cover and options set).
Minor cleanup
Metadata.look_for_main_cover() renamed to update_main_cover()
Add Metadata.get_main_cover()
Add types, description under image in track cover infobox

Filename selected appears as tooltip
Main cover has text in bold
CoverArtBox: use Metadata.get_main_cover()