animation update

-removed a bunch of redundant functions by adding optional arguments
-added more documentation
-noticed that draw() calls ST_AnimationState.getCurrentFrame(), and
getCurrentFrame() increments the frameCounter: this could be a source of
bugs (ex: calling draw() to force a frame update when paused would
increase the framerate when not paused)
bugfix

fixed the draw() bug

-draw() should now only be called in the main game loop
-to update graphics to the current frame of the current state, use
staticDraw(); this won't advance the framecounter and works regardless
of whether the sprite is paused or playing