Introduce ClutterBlitNode

It is not possible to express a blit operation using paint
nodes as of now. This is a requirement for GNOME Shell, e.g.,
to implement its blur effect.

Add a new ClutterBlitNode node that takes two framebuffers as
input, and blits source into dest according to added rectangles.

Because this paint node uses the rectangles in a different way
compared to all the other nodes, add an auxiliary method to
ensure all blit operations are valid.

!1340
6 jobs for !1340 with gbsneto/effects-paint-nodes in 15 minutes and 43 seconds (queued for 1 second)
detached
Status Job ID Name Coverage
  Review
passed #788565
check-commit-log

00:00:24

 
  Build
passed #788566
build-mutter

00:08:48

passed #788568
build-without-native-backend-and-wayland

00:01:12

passed #788567
build-without-opengl-and-glx

00:07:34

 
  Test
passed #788570
can-build-gnome-shell

00:02:37

passed #788569
test-mutter

00:06:29