xwayland: Aggregate scroll axis events to fix kinetic scrolling

Pointer scroll events are collected in xwl_seat->pending_pointer_event
as they are received in the pointer_handle_axis and
pointer_handle_axis_discrete callbacks. They are dispatched together as a
single event when pointer_handle_frame is called which "Indicates the end of a
set of events that logically belong together" [1]. This patch also sends an
event with dx=0, dy=0 when pointer_handle_axis_stop is called, which is what
allows XWayland clients to recognise the end of a touchpad scroll.

[1] https://wayland.app/protocols/wayland#wl_pointer:event:frame

Signed-off-by: David Jacewicz <david.jacewicz27@protonmail.com>
Fixes: xorg/xserver#926
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
5 jobs for fix-kinetic-scrolling in 7 minutes and 2 seconds (queued for 2 seconds)