initial implementation of cover art cache
refactoring initial cover widget to use cover cache