[PlasmaCore.IconItem] Refactor source handling for different types
Summary: There are 3 possible strategies: QIcon, QImage and SVG. This change moves logic of each of these strategies into separate class.
Test Plan: Should behave exactly the same
Reviewers: Plasma, broulik, apol, davidedmundson, Frameworks
Reviewed By: Plasma, davidedmundson
Subscribers: mart, davidre, cblack, kde-frameworks-devel, Plasma
Tags: Frameworks
Differential Revision: https://phabricator.kde.org/D28470