Add test_sdl2_mouse

Unlike test_sdl_mouse, this test doesn't assert that
SDL_GetMouseState(&x, &y) is equal to the co-ordinates
received by the event (event->x == x, event->y == y).
This is because SDL batches up the events and then
executes them which can cause SDL_GetMouseState to differ
because the mouse could've moved between the event firing
and the calling of SDL_GetMouseState.
Add test_sdl2_mouse_offsets