Implements #7 - RequestAnimationFrame

implemented request animation frame,
no longer using settimeout or progressively incrementing the timeout.
Each draw function has to know how to render itself given time X and time Y
however, there are still some dependencies between stages that make things more complex.
At least there's less code.
The widgets (close button) and the animation pipleine and classes themselves could be prized apart into separate libraries.