- Reworked `Config.UPDATES_PER_FRAME` into `CONFIG.TICK_RATE`
- The main game loop has been refactored to facilitate the change to using tick rate, and now also has logic which facilitates ticks and frames 'catching up' when they are falling behind.
The implementation used for each of these is different, and explained in detail in the code comments
- Renamed `GameEventKey` to `GameEventType` to distinguish the enum's values from event keys, which can contain other data along with the event type
- Added an event for when the screen is rendered to
- Renamed listener names related to GameEventHandler to callback names, to reflect that they may modify event data if necessary rather than only reading it
- Entity's abstract properties may now return any Stat objects, not just GenericStat objects
- Various internal variable renames
- Reordered internal attributes for ease of reading
- Type hint fixes
- Added and edited docstrings and comments
This release features breaking changes, specifically the changes to `Config`, `GameEventKey` and `GameEventHandler`.