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)