wayland/egl: Ensure EGL surface is resized on DRI update_buffers()

Fullscreening and unfullscreening a totem window while playing a video
sometimes results in the video subsurface not changing size along. This
is also reproducible with epiphany.

If a surface gets resized while we have an active back buffer for it, the
resized dimensions won't get neither immediately applied on the resize
callback, nor correctly synchronized on update_buffers(), as the
(now stale) surface size and currently attached buffer size still do match.

There's actually 2 things to synchronize here, first the surface query
size might not be updated yet to the wl_egl_window's (i.e. resize_callback
happened while there is a back buffer), and second the wayland buffers
would need dropping if new surface size differs with the currently attached
buffer. These are done in separate steps now.

https://bugzilla.redhat.com/show_bug.cgi?id=1650929
https://bugs.freedesktop.org/show_bug.cgi?id=109594

Fixes: a9fb331e ("wayland/egl: update surface size on window resize")
Signed-off-by: Carlos Garnacho <carlosg@gnome.org>
Reviewed-by: Juan A. Suarez <jasuarez@igalia.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Tested-by: Bastien Nocera <hadess@hadess.net>
Tested-by: Denys Kostin <denys.kostin@globallogic.com>
24 jobs for master in 24 minutes and 56 seconds (queued for 2 seconds)
Status Job ID Name Coverage
  Build+Test
passed #128715
build:make-gallium-drivers-other

00:08:29

passed #128714
build:make-gallium-drivers-radeonsi

00:11:16

passed #128713
build:make-gallium-drivers-swr

00:16:07

passed #128716
build:make-gallium-st-clover-llvm-39

00:06:06

passed #128717
build:make-gallium-st-clover-llvm-4

00:08:58

passed #128718
build:make-gallium-st-clover-llvm-5

00:06:17

passed #128719
build:make-gallium-st-clover-llvm-6

00:10:00

passed #128720
build:make-gallium-st-clover-llvm-7

00:07:41

passed #128721
build:make-gallium-st-other

00:07:02

passed #128712
build:make-loader-classic-dri

00:05:59

passed #128711
build:make-vulkan

00:09:34

passed #128707
build:meson-gallium-clover-llvm5

00:02:25

passed #128708
build:meson-gallium-clover-llvm6

00:03:18

passed #128709
build:meson-gallium-clover-llvm7

00:03:29

passed #128706
build:meson-gallium-drivers-other

00:03:05

passed #128705
build:meson-gallium-radeonsi

00:02:24

passed #128710
build:meson-gallium-st-other

00:07:19

passed #128704
build:meson-gallium-swr

00:06:21

passed #128703
build:meson-glvnd

00:04:33

passed #128702
build:meson-loader-classic-dri

00:03:07

passed #128701
build:meson-vulkan

00:04:19

passed #128723
build:scons-llvm

00:05:01

passed #128722
build:scons-nollvm

00:05:08

passed #128724
build:scons-swr

00:07:35