Moving -1 inside parens, so the map view isn't smaller than it needs to be
Adding a RECT_EQUALS path to the rect implementation
Doing a templatey thing with the struct rect

Now it uses the preprocessor to generate an implementation of rect using
any given type, currently it makes int, float, int8_t, and uint8_t
Moving the rest of the code over to rect_float or rect_int

For now. I'll try to tune them to the "correct" types as I come across
specific cases.
Adding MIN and MAX macros to utility.h