finer animation

I've added a check for the sub-millisecond callback argument available in most implementations of `rAF`, and use it for finer grained animations (sub-millisecond means more precise calculations).

The drawback is that it requires `rAF` to be called as an entry into the method, in order to get a precise start time, since the argument is actually time since the page loaded, and therefore different than `+new Date()`. I think it's worth the tradeoff.