Apparently on some setups directly modifying the rectangles is a no-go, see #78.
Pixman is another piece of undocumented shit. I hope whomever wrote this stubs their toe.
Note to self: drop pixman, rewrite region. Fucking idiots.
* CRegion: introduce forEachRect
makes us able to directly call a function on each rect instead of using
getRects() allocating a vector every single time, especially when its
used in hot paths like the renderer.
* CRegion: cleanup CRegion of clangd warnings
overload pixman() with const, remove const_cast, mark move as noexcept.
ensure self assignment doesnt occur.