* Fix rdram allocation to only allow kseg0 accesses
* Implement osEepromWrite and osEepromRead, fix implicit casting error in save_write
* Partially implement osStopThread
* Fix audio allowing games to queue 0 samples
* Remove commented out line
* System to specify thread types by the game
* Register threads callbacks
* Remove temporary and permanent threads
* Fix `pthread_setname_np` not liking names longer than 16 bytes
* Singular
* Rename events_callbacks arg
* Use `prctl` instead of `pthread_setname_np` for naming a thread
* Fix typo
* `RendererContext` abstract class
* Delete rt64_layer
* Implement renderer creation callback
* Make `GraphicsConfig` an abstract class
* Remove rt64
* Add renderer callback to `ultramodern::set_callbacks`
* Fix rebase
* Change setup_result's visibility to protected
* Declare abstract `is_equal` method instead of operators
* Various fixes
* Fix issues
* trigger_config_action
* Move GraphicsConfig back to ultramodern
* Change `update_config` to return if any changes were applied
* Rename renderer_wrapper to renderer_context
* Remove SDL2 and other libraries
* Allow registering get_graphics_api_name
* Move WindowHandle to renderer namespace
* Comments explaining which callbacks are required
* Fix CI
* Update readme
* `ULTRAMODERN_QUICK_EXIT` macro
* Remove --config from readme
* Add `add_compile_definitions(NOMINMAX)`