clutter/actor: Cache stage-relative instead of absolute modelviews
From the main commit:
The absolute modelview contains OpenGL coordinates, which have a higher
chance to not be invertible or, when doing so, introduce rounding
errors. These again often result in relative transforms becoming 3D
instead of 2D, making us miss optimized code paths down the line.
Thus cache stage-relative matrices instead, improving correctness and
possibly performance.
While on it also add two fast paths for cases where we can skip
calculating inverted matrices altogether.
Fixes: dfd58ca8f1 ("clutter/actor: Extend caching in apply_relative_transformation_matrix")
Closes #3035 (closed)
Edited by Robert Mader