This is a breaking change: `GXSetViewport`, `GXSetScissor`, `GXSetTexCopySrc`, `GXSetTexCopyDst` now accept logical coords relative to the `VIConfigure` EFB size.
`GXSetViewportRender` and `GXSetScissorRender` are used to override the scaled viewport/scissor from the logical coords.
* Add experimental mouse API
* Add aurora::core library for aurora::ms
* Add absl::flat_hash_map library for aurora::ms
* Add comment clarifying MS is an aurora extension
* Clear MSStatus::buttons to prevent spurious values
* Minor cleanup for MSRead and MS_BUTTON_* bits
* Switch to Poll -> Read paradigm
* Clear mouse scroll state before polling for events
* Add functionality to lock GX framebuffer aspect ratio
This leaves the imgui (so including OS) framebuffer alone.
AuroraWindowSize now has new fields for the native framebuffer, the aspect ratio controls modify the existing fields.
* Fix from merge
* fix gx_test_stubs.cpp
If we try and initialize anything controller related before the event
subsystem is initialized we lose all controllers detected on startup.
To solve this we simply wait until the first frame is about to be rendered
*then* initialize the controller subsystems