[Kickoff] Support non-square icons
You can load custom icons through icon dialog, so support non-square icons just like Kicker does. Code mostly from Kicker.
Differential Revision: https://phabricator.kde.org/D12161