The first commits add some test infrastructure to be able check raw input keyboard events, along with a few tests relevant to the code paths in this MR. This MR also introduces support for checking async key state in tests.
For some fixes it was difficult to express the current Wine behavior with TODOs in the expected sequence, so tests for these were added along with the fix.
-- v3: server: Set VK_PACKET async state in raw input legacy mode.