This might break some code using TextButtons :)
---
- Added `to_json` and `from_json` functions to `Tile`
- Changed how fonts work for `TextButton`, you now give it a font at initialization, not when rendering, so font_size is removed
- Added `__eq__` function to `Tile`, `Circle` and `Polygon`
- Optimized `create_font`
- `Font.get_size` now removes the unnecessary extra pixel for spacing for the last character
- Added `TypeError` to writing files if the data is not a string
- Fixed `Particle.width`
- Changed `failed_imports` to `_failed_imports`
- Fixed `Entity` documentation