main loop optimisation 2: electric boogaloo

My first patch inadvertently changed the semantics of the loop, such
that LED flashes would only occur once per check_interval at most.

In essence I previously removed ~100% of the function calls, not 50%.

This revised patch should avoid that bug while halving calls to
get_file_contents(stats_fn).

Compare 907d0b596c37680befd07ffc1eb0a21118ad2565.