The RaspberryPi processor implements 'double to int32' conversions
much faster than 'double to int64' conversions. Rework the code so
that steps stored in the queue are always a small offset from the last
sent step time. (In the unlikely event that a step is far from the
last step time, then the queue is flushed to maintain this invariant.)
This simplifies the step compression code as well - it no longer needs
to check for integer overflows.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>