Integrate tic into engine

I've been using [tic](https://github.com/shama/tic) in almost every voxel project now to keep things in sync with the game's clock. I think it would be worth integrating into the engine.

It essentially just manages a queue of functions and elapsed times. The times are advanced by `elapsed += delta` in the tick and then fires when it reaches the desired duration of an interval.

This allows a user to use a similar `setInterval` function without it being called repeatedly when the game frame rate drops or before the game has started.

Thanks!