Use QWindow instead of window ids in API
Global window ids don't exist on Wayland, therefore the whole mechanism here doesn't work correctly there
Using QWindow alone doesn't fix that, but at least it makes the problem not exposed into the API, and is just neater in general