Using window.performance.now (sub millisecond accuracy) if available instead of Date.now().
Added the ability to chain.
Added the ability to repeat.