- Do not crash if logging is already initalized
- Add optional dependency on serde, when enabled it adds the Serialize and Deserialize traits to Circle, Vector and Rectangle
- Fix a bug where text extents were improperly reported
- [BREAKING] Remove `set_viewport`, `fit_to_surface`, and `fit_to_window`; the viewport is now set automatically
- [BREAKING] Remove `flush(Option<Surface>)` in favor of `flush_surface` and `flush_window`
- [BREAKING] Remove `Graphics::set_projection` in favor of `Graphics::set_view`
- [BREAKING] Remove `transform_for_size` and `projection` from `ResizeHandler`, in favor of `Graphics::set_resize_handler`
- Add the `set_camera_size` to `Graphics` to manage the new virtual camera abstraction
- Add `screen_to_camera` to `Graphics` for mapping the mouse position to the camera space
- Fix images failing to draw when their destructors run before they are flushed