ColumnView and partial C++ refactor of PageRow
Summary:
ColumnView is a container component which encapsulates most of the logic from PageRow
(minus the instantiation of components from paths which stays in PageRow)
with that, new features are possible, such as having expanded pages which aren't the last one
or inserting/removing arbitrary pages, to make it behave not like a stack.
This solves also some glitches as ListView is quite buggy.
Test Plan:
tested with Kirigmai Gallery and some other apps such as the new PureMaps which needs some of
the new features.
By normal usage, no visual change should occur.
Reviewers: Kirigami, nicolasfella
Reviewed By: nicolasfella
Subscribers: nicolasfella, plasma-devel
Tags: Kirigami
Differential Revision: https://phabricator.kde.org/D19203