‘Slow’ time discretization: a versatile time propagator for the time-dependent Schrödinger equation