xwayland: Free all remaining events in xwl_present_cleanup

These events aren't reachable after xwl_present_cleanup, so they're
leaked if we don't free them first.

This requires storing the pixmap pointer in struct xwl_present_window.
Luckily, the buffer pointer isn't used for anything, so just replace
that.

v2:
* Bump pixmap reference count in xwl_present_flip and drop it in
  xwl_present_free_event, fixes use-after-free in the latter due to the
  pixmap already being destroyed.

Reviewed-by: Dave Airlie <airlied@redhat.com>
4 jobs for xwayland-present-leak-fixes in 4 minutes and 33 seconds (queued for 3 seconds)
Status Job ID Name Coverage
  Docker Image
passed #3298172
debian-testing

00:00:25

 
  Build And Test
passed #3298173
autotools

00:04:08

passed #3298174
meson

00:01:34

passed #3298175
meson-noglamor

00:01:51