Mostly split from https://gitlab.winehq.org/wine/wine/-/merge_requests/4946.
-- v2: dinput/tests: Test rawinput with the virtual HID touchscreen. dinput/tests: Use a polled HID touchscreen device. dinput/tests: Test rawinput messages with non-input desktop. dinput/tests: Add more tests for HID rawinput buffer. dinput/tests: Add a helper to wait on HID input reads. user32/tests: Rewrite the rawinput buffer test with keyboard input. user32/tests: Run rawinput device tests in the separate desktop.