Generalize Timer: use user-specified precision