Fix binding loop in pager
Summary:
Previously on height changed rowHeight changed which changes columnWidth
which in turn causes rowHeight to be re-evaluated - a loop.
Moving it to a state machine solves that using a similar design pattern
to the digital clock.
Test Plan:
Panel in horizontal looked normal
Panel in vertical looked normal
Moving panel back to horizontal still was fine
Reviewers: Plasma
Subscribers: plasma-devel
Tags: Plasma
Differential Revision: https://phabricator.kde.org/D2848