Breaking Changes
* `mouse_position_event` signature has changed from `(x, y)` to `(x, y, dx, dy)`.
This means you will also be getting the relative position change.
* `mouse_drag_event` signature has changed from `(x, y)` to `(x, y, dx, dy)`.
This means you will also be getting the relative position change.
* `KeyboardCamera.rot_state` now takes dx and dy instead of x and y
Improvements
* Python 3.8 support (PySide2 will take a few more months. SDL2 has issues on windows)
* Added pygame2 window
* Added window callback `iconify` for all window types that will be called
when a window is minimized or restored
* Window property `mouse_exclusivity` added for all window types.
When enabled the mouse cursor is invisible and mouse position changes
are only reported through the dx and dy values.
* Window property `size` is now assignable for all window types
* Window property `position` is now assignable for all window types
* Window property `title` is now assignable for all window types
* Window property `cursor` is now assignable for all window types
* The `KeyboardCamera` class should now be better at reducing the
chance of rotation and movement popping
* All windows now properly separate viewport calculations when
using fixed and free viewport (derived from window size)
* The window `aspect_ratio` property should always return
the a value based on if the aspect ratio is fixed or free
* Added window `fixed_aspect_ratio` property so users can freely
control this after window creation