wayland: Ensure pointer constraint region consistency

Changes in games between fullscreen and windowed modes may trigger
chaotic situations where the buffer and the frame size temporarily
disagree, producing rectangles with negative width/height. This is
usually followed by other updates that bring the pointer constraint
up to date.

This makes cairo panic and return an "error" empty region, which breaks
deeper down when using the region rectangles to apply the pointer
constraint.

If we hit this situation, ignore the frame rectangle, and just go with
the buffer rectangle.

Part-of: <!1655>
13 jobs for master in 19 minutes and 20 seconds (queued for 2 seconds)
Status Job ID Name Coverage
  Review
passed #1083203
check-commit-log

00:00:28

passed #1083204
check-merge-request

00:00:15

 
  Prepare
passed #1083206
aarch64
build-fedora-container@aarch64

00:00:24

passed #1083205
build-fedora-container@x86_64

00:00:27

 
  Build
passed #1083208
aarch64
build-mutter@aarch64

00:05:50

passed #1083207
build-mutter@x86_64

00:02:08

passed #1083210
build-without-native-backend-and-wayland@x86_64

00:04:41

passed #1083209
build-without-opengl-and-glx@x86_64

00:01:35

 
  Test
passed #1083213
can-build-gnome-shell@x86_64

00:01:05

passed #1083212
aarch64
test-mutter@aarch64

00:06:18

passed #1083211
test-mutter@x86_64

00:07:09

 
  Coverage
passed #1083215
aarch64
test-mutter-coverage@aarch64

00:06:15

45.0%
passed #1083214
test-mutter-coverage@x86_64

00:03:32

45.0%