* Implement Area sampler for scaling the internal resolution
* Move resampling to before RmlUi instead of inside it
Allows non-Bilinear resampling to work regardless of RmlUi being init
* feat(rmlui): add user-configurable ui scale multiplier
Expose `aurora::rmlui::set_ui_scale` / `get_ui_scale` so consumers can
multiply the RmlUi context's density-independent pixel ratio without
having to fight `sync_context_metrics` resetting the value every render.
Default scale is 1.0 (no behavior change); the multiplier is clamped to
[0.25, 4.0] and applied inside `sync_context_metrics`, so existing
display-scale syncing continues to work for HiDPI / display-change
events.
* refactor: specific scale vs multiplier
* add file interface that uses SDL file io to access filesystem
this fixes android not properly accessing asset system through SDL, as the default file interface uses the standard C api, which on android is directed to the apps data directory.
* remove debug logs, run clang format
* begin work on integration
* draw null tex when tex handle is null, switch to immediates for geometry translation
* fix window resizing and texture loads, switch to dynamic ubo
* remove immediate usage
* Add initial rmlui public API
* Use proper dimensions; fix texture resolution
* Remove unnecessary SetDimensions
* Cleanup & add clip mask support
* Implement blur and shadow filters
---------
Co-authored-by: Luke Street <luke@street.dev>