First cut of backlight auto-off.
refactor common code
small cleanup - remove statics on RotaryEncoder, inline functions.

There's no need to make the instance static - having a static instance of RotaryEncoder is the same as having all static data members.

Inlining small functions gives the optimizer more to work on, so it can produce more efficient code. Inliing 3 functions saves 70 bytes.
Merge pull request #11 from m-mcgowan/feature/backlight-auto-off

Feature/backlight auto off