[effects/snaphelper] Do massive overhaul
Summary:
This patch fixes some of issues that the Snap Helper effect currently
has:
- If a window is being moved, there are visual artifacts (cause: missing addRepaint's);
- It uses addRepaintFull;
- For some reason, if a window goes deleted, it will be kept around as long as the Snap Helper effect needs it (visually, it doesn't look good).
Among other changes:
- Use variables to store color and width of grid lines;
- Use new connect syntax;
- Port to TimeLine;
- Fix coding style in some places.
Test Plan:
Tried the effect with different rendering backends, no longer see visual
artifacts when moving or resizing windows.
Reviewers: KWin, romangg
Reviewed By: KWin, romangg
Subscribers: romangg, abetts, kwin
Tags: KWin
Differential Revision: https://phabricator.kde.org/D15695