a sprite animation framework