Some cover art changes.

Hey @cardinot, @kain88-de,

Great work with this feature! It's super fun to use. 

I made some changes -- I realized the set of things I was asking you to do were basically unreasonable to come to you this late in the game and ask for so I went ahead and did them myself this weekend. 

I know I made some significant changes to the design but I think they were necessary. I'm happy to discuss any of them. 

I'm really excited to have this in Mixxx 1.12.0. I think the branch is merge-able with these changes. There are some improvements I want to do (I left myself TODOs) but I think they're fine to do post-merge. 
The general policy is to not forward-declare Qt classes and instead include them. This prevents undefined class errors in cpp files. (QObject and QPainter pointers are used in this file).