Changed halfsteps to full steps. Rotary encoder only responded every other detent. Saves 44 bytes too :)
First step of rotary encoder  was in wrong direction after reset, this fixes it.
space-optimized processJsonPair. The function itself is reduced from 1019 bytes to 96 bytes, but we loose some of that gain to new static data structures.

With these optimizations the leonardo build comes to 28668 bytes - 4 bytes under the maximum! ;)

other changes:
move log in OneWireTempSesnor until after address is known, otherwise the log is output every second whent he sensor is disconnected.
removed single use of strlcpy_P in SpiLcd. This is a little risky, but all callers use the strings within max length.
removed single use of snprintf_P and replaced with our own function - saves 56 bytes.