Rework InputDeviceHandler focus tracking
Summary:
This patch aims at improving the Toplevel, internal window and decoration
focus tracking.
In detail the goals are:
- Clean tracking of beneath and focus Toplevel as well as decoration and
internal windows. Splitting this up in well defined sub routines.
- Minimal find Toplevel operations on window stack.
- Reduce code duplication in pointer and touch child classes.
- Reuse tracking in drag operations.
- Allow direct usage of Wayland input interfaces for decoration and internal
windows in the future.
- Update touch focus on external events like VD switches correctly.
Test Plan: Manually and existing autotests.
Reviewers: KWin
Subscribers: kwin, zzag
Tags: KWin
Differential Revision: https://phabricator.kde.org/D15595