This PR implements an improved implementation of the rowing engine and statistics.
Added a lot of defensive programming to prevent small errors to propagate through the engine
Use the natural drag of the flywheel (naturalDeceleration setting) to improve the exact timing of the stroke detection
Added a more fluid GUI update mechanism, made it dependent on screenUpdateInterval and made the moving averager dependent on a setting (numOfPhasesForAveragingScreenData)
This PR implements an improved implementation of the rowing engine and statistics.