glarea: Add support for explicit synchronization

For glarea widgets, there is a need to determine when the previously
submitted buffer has been consumed by the windowing system. This is
particularly important if the buffer is backed up by a texture that
is associated with a dma-buf.

Upstream Wayland/Weston supports explicit sync protocol that makes
it possible to make such a determination. Most of the code added
in this MR is based on this Weston client:
https://cgit.freedesktop.org/wayland/weston/tree/clients/simple-dmabuf-egl.c
11 jobs for wl_explicit_sync in 21 minutes and 21 seconds (queued for 1 second)
latest
Status Job ID Name Coverage
  .Pre
failed #1243352
allowed to fail
style-check-diff

00:05:19

 
  Build
passed #1243353
fedora-x86_64

00:11:52

passed #1243355
installed-tests

00:08:15

passed #1243356
win32-ps
msys2-mingw64

00:17:25

passed #1243354
release-build

00:10:13

 
  Analysis
failed #1243358
asan allowed to fail
asan-build

00:21:20

passed #1243357
static-scan

00:14:05

 
  Docs
passed #1243359
reference

00:10:13

 
  Flatpak
manual #1243360
flatpak allowed to fail manual
flatpak-manual:demo
manual #1243362
flatpak allowed to fail manual
flatpak-manual:icon-browser
manual #1243361
flatpak allowed to fail manual
flatpak-manual:widget-factory
 
Name Stage Failure
failed
asan-build Analysis
 - css: 214 total, 214 pass, 0 fail
Processing gtk suite a11y:
- a11y: 22 total, 22 pass, 0 fail
Processing gtk suite tools:
- tools: 4 total, 3 pass, 1 fail
Processing gtk suite reftest:
- reftest: 132 total, 132 pass, 0 fail
Cleaning up file based variables
ERROR: Job failed: exit code 1
failed
style-check-diff .Pre
+gboolean gtk_gl_area_get_use_explicit_sync (GtkGLArea *area);
GDK_AVAILABLE_IN_ALL
-void gtk_gl_area_explicit_sync (GtkGLArea *area);
+void gtk_gl_area_explicit_sync (GtkGLArea *area);

G_END_DECLS

Cleaning up file based variables
ERROR: Job failed: exit code 1