v0.4.0: Slope collision overhaul
This adds support for `PostProcessingTiles`, which, when intersected, will receive a callback allowing them to modify a CollisionResult after all collisions have been added. Thus, the Physics no longer has special cases for handling slopes, as they can be handled with the new generic mechanism. Also includes some new utility methods and some minor refactoring. Most notably, `hitbox` is now a public field of the Entity class.