Implements rawinput by refactoring a few things and adding a wine staging patch. Also fixes a few bugs with the existing pointer implementation, which can cause the mouse cursor to escape or is just inefficient. As much as I would like to make relative pointer protocol mandatory, most compositors don't support it in their nested mode, which makes this a very difficult tradeoff to make. For now I have left it optional. -- v2: winewayland: Implement pointer rawinput. server: Add send_hardware_message flags for rawinput translation. winewayland: Don't set pointer position hints when unnecessary. winewayland: Do not process motion events with a pending warp. winewayland: Move pointer input processing to frame event. https://gitlab.winehq.org/wine/wine/-/merge_requests/11117