Use regions for Cogl clipping and culling
(NB: This MR relies on !692 (merged) and currently includes its commits here)
Going a little bit further with clip regions, these commits:
- Implements a Cogl region-based clip method implemented through the stencil buffer. The coordinates are given in the "window" coordinate system, just like scissor clips.
- Makes the ClutterStageCogl use this new clip method, instead of using the clip area bounding rect.
- Pass the clip cairo_region_t on MetaCullable
- Does some minor related cleanups
This all ensures we can just paint in the areas we are meant to paint, so actors painting sloppily (eg. MetaBackgroundActor when the uncovered area degenerates in too many rectangles; or window shadows) don't end up over-painting.