Port the blur effect to the new ClutterEffect.paint_node() vfunc.
Update the function names to match what they do, e.g. "apply_blur()"
now creates the blur subtree and thus was appropriately renamed to
"create_blur_nodes()".
There are 3 subtrees that can be generated by the blur effect:
1. Actor mode (full subtree; no cache)
Root
|----------------------------
| |
Layer (brightness) Pipeline
| (final result)
Layer (horizontal blur)
|
Layer (vertical blur)
|
Layer (actor)
|
Transform (downscale)
|
Actor
2. Actor mode (partial subtree; cached contents)
Root
|
Pipeline
(final result)
3. Background mode
Root
|-------------------------------------------
| | |
Layer (brightness) Pipeline Actor
| (final result)
Layer (horizontal blur)
|
Layer (vertical blur)
|
Layer (background)
|
Blit
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1339