[effects/showpaint] Modernize code
Summary:
Summary of changes:
- Use QVector to store colors
- Add Q_OBJECT macro
- Port away from QRegion::rects
- Fix coding style
- Use default member initialization
- Use nullptr
- Reserve rects in paintXrender
The behavior of this effect haven't been changed, it still acts as before.
Test Plan: Compiles, and the Show Paint effect is still a psychedelic thing.
Reviewers: KWin, davidedmundson
Reviewed By: KWin, davidedmundson
Subscribers: kwin
Tags: KWin
Differential Revision: https://phabricator.kde.org/D15424