Add Data and Time managers.
Add Data and Time managers.

Data allows for persistent storage between frames that isn't being
hung off of the player or the map -- it will likely make a lot of
code get a little bit cleaner, and help with eventual ideas like
"save state".

Time keeps track of a steadily advancing clock using the performance,
requestAnimationFrame, and raw-counter methods, ticking forward each
rendered frame. It also gives a common interface to "timers", which
may change as it gets integrated into existing projects.

The hope with these timers is to eliminate the common pattern of
subracting from performance.now directly in application code with magic
numbers to check that time has passed, and adding 2-3 bookkeeping
variables for each of these types of checks.

This code also has some modifications to the main loop to track frame
start and end times and ensure that only one frame is executing at a
time, which were added for testing purposes and are not likely to be
permanent.

wcarss/creek,wcarss/creek