Cover art support

- [x] implement database scheme
- [x] search for embedded cover
- [x] search for cover in track directory
- [x] save covers in disk cache
- [x] search for covers in disk cache
- [x] minimal ui (display covers in lower left corner)
- [x] handle existing users
- [x] LRU cache
- [x] unit tests
The proposed pointer solution will not work because find copies to a null pointer. 
I have already measured  a pointer slot solution vs. the original solution and there was no measurable difference. 
It seams there is some lazy coping going on, under the hood.  

A best solution to avoid pixmap copies is IMHO a track cache solution with smart pointers. 

If I got it right, we have two problems: 
1. Waveform stuttering due to long GUI slots 
2. Slowdown of Controller scrolling 

And two solutions:
1. Make the slot faster by optimizing the data flow. 
2. Avoid unnecessary slot calls by a timer. (Inside the GUI thread as well) This can be bound to the render timer of the waveforms to avoid cover changes more often then monitor refresh rate and an additional timer firing at unpredictable moments.