allow changing an output's modelist at runtime
This should fix running Plasma in a windowed virtual machine, when the window is
resized, the mode list changes, and libksreen can't currently handle that.
Summary:
- make Output::modes() non CONSTANT, add modesChanged() signal
- compare the mode lists and set the new one
- queue an outputChanged signal when applied
- autotest for modelist changes
- update the mode list on RRNotify events
BUG:356864
Test Plan:
- for library part, autotests are added
- for xrandr backends, we can't sensibly autotest this :(
Reviewers: Plasma, mart
Reviewed By: mart
Subscribers: graesslin, plasma-devel
Tags: Plasma
Differential Revision: https://phabricator.kde.org/D3117