qt: use in-memory caching for custom ml covers
depends on !1731 (merged) (marking draft until that passes)
relevant discussion - !1731 (comment 320519)
Replaces disk caching for custom covers with in-memory caching. Why remove disk caching - (read !1731 (comment 322516))
Implementation - Uses a QQuickAsyncImageProvider to generate and transport images to qml widgets.
V1 Implementation
Introduces two classes - `MLImageStorage` (pure virtual interface, two functions - store(), url(), all c++ class deals with this class), `QmlImageStorage` (implements MLImageStorage and QQuickImageProvider, does actual storring of images, UI gets the stored images via QQuickImageProvider interface). Also implements image provider support in RoundImage.Edited by Prince Gupta