Hummel, the texture limit is per entity per frame. And since every frame only needs 1 animation frame, you only need to use up 1 texture.

I would create a texture array with each index pointing to another frame in the animation. Then use a variable to store how far in the animation you are (anim += 5 * time_step;), and take the integer part of it as index in the array: mtl.skin1 = texArray[integer(anim)];.