modularized time function, use high resolution timer when available

sub millisecond resolution and a monotonic timing will improve accuracy in simulations, frame timing, etc.

http://updates.html5rocks.com/2012/08/When-milliseconds-are-not-enough-performance-now

I'm not sure how to test this presently as the high-res timer only activates in supported runtimes, and node doesn't. thoughts? happy to submit tests for this.