/**
* The engine is essentially a stack of layers. While running, it updates each
* layer from the bottom up every timestep. It also draws each layer from the
/**
* The engine is essentially a stack of layers. While running, it updates each
* layer from the bottom up every timestep. It also draws each layer from the
* from the top down until a layer signals the event was handled. The engine is
* also responsible for firing timers on time. The engine will continue running
* as long as there are layers on the stack.
* from the top down until a layer signals the event was handled. The engine is
* also responsible for firing timers on time. The engine will continue running
* as long as there are layers on the stack.
// setting the video is required before you can run the engine and should
// probably be done before adding any layers
// setting the video is required before you can run the engine and should
// probably be done before adding any layers