screen-cast/area-stream: Use monitor framebuffer in case area is monitor

The largest part of computer users uses only a single monitor, in this
case we can avoid painting the stage a second time in the area stream
and simply use the monitors framebuffer as the source of our recording.

So introduce an optimization for the area stream that compares our
rectangle to the logical monitor rects that exist, and make use of the
functions to record monitor buffers/framebuffers that we factored out of
the monitor stream source in the last commits.
13 jobs for !1711 with area-screen-cast-optimization in 21 minutes and 34 seconds (queued for 1 second)
latest detached
Status Name Job ID Coverage
  Review
passed check-commit-log #1132144

00:01:03

passed check-merge-request #1132145

00:00:19

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

00:00:42

passed build-fedora-container@x86_64 #1132146

00:00:19

 
  Build
passed build-mutter@aarch64 #1132149
aarch64

00:06:18

passed build-mutter@x86_64 #1132148

00:01:46

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

00:01:44

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

00:01:45

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

00:01:02

passed test-mutter@aarch64 #1132153
aarch64

00:06:42

passed test-mutter@x86_64 #1132152

00:03:19

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

00:06:45

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

00:03:44

45.0%