timer: refactor to use module.exports = {} and ES6 classes
Refactor to use the more efficient module.exports = {}
pattern and change up the internal objects to use ES6 classes. Benchmarking shows a minor perf improvement under turbo / ignition (not compelling enough by itself, but it's there).
/cc @Fishrock123
Checklist
-
make -j4 test
(UNIX), orvcbuild test
(Windows) passes -
commit message follows commit guidelines
Affected core subsystem(s)
timers