The old sub-millisecond bump (_sub += 0.1) was uncapped, so after >10 calls in one millisecond it exceeded 1.0; when the wall clock then ticked over and the bump reset to 0, now() returned a value below the previous call. Track the last returned value and never go below it (advance by a tiny epsilon when the clock has not moved past it). Fixes #497