Use macros that explicitly avoid double-evaluation and can be used for any datatype, replacing `min`, `max`, `abs`, `fabs`, `labs`, and `FABS`.
Co-Authored-By: ejtagle <ejtagle@hotmail.com>
Smart-Fill and Mesh-Tilting (both 3-point and grid) working!
Also... The memory corruption issue may be fixed. The GCC compiler
was inlining static functions and this caused the G29() stack frame to
become much larger than the AVR could handle.