changed the update to use requestAnimationFrame() and a timer for more control. Might prevent lagging and conserve power in some situations...