wayland: Fix wl_buffer size for custom cursors
cairo_image_surface_get_width() and cairo_image_surface_get_height() return the image size that's in the device pixels.
On the other hand, _gdk_wayland_display_create_shm_surface() takes a surface size in the logical pixels.
Given that _gdk_wayland_display_get_cursor_for_surface() provides the desired surface size in device pixels, a much bigger shm surface is created, which then breaks damage tracking code in gdk_wayland_device_update_window_cursor().
Fixes #6242 (closed)