Cursors ✕ Output Transformations fixes
- Transforms pointer events under Wayland backend (see #364)
- Fixes broken 180 and flipped transformation under DRM backend (introduced in #188 (closed), probably never worked properly)
- Fixes disappearing software cursors when applying a 90 or 270 transformation (regression introduced in #352)
- Replaces mysterious switches with easy-to-understand calls to
wlr_output_transformation_*
helpers
Test plan: try all 8 transformations under Wayland and DRM. Open a view, check that the pointer doesn't jump when entering the view. Check (e.g. with a GTK app with buttons) that the view receives pointer events with the right position.
Currently the hardware cursor isn't transformed under the Wayland backend, waiting for #319 to do this.