Split cover art providers to their own classes and files

- add extension point so one can write a cover art provider plugin
- minor changes to ease the move