Picking up where Paul was.
You have one more option; Have the first page-image of the animation applied in the background. Then load the animation during hover. That would avoid the experience of the first loading-time and the animation would show every time.
Of course the animation can't be a sprite, but the first image of that animation could well be a part of one sprite for all the animations.
Code says it better:
border:2px outset #ccc;