Before proceeding with this technique be warned that this is just for modelling, it may not be trivial to texture this shape.
As for the twisting squorus you may start with a bezier circle. Turn all handles to aligned, then erase one of the segments.
Recreate it again by extruding one of the remaining end vertex and snapping it over the following one. Rotate it $90º$ around the Z axis
You can then add the twisting effect with the Tilt property, by default Ctrl + T.
Since the twisting effect is animated, you should first create two shape keys, one base and one for morphing. Tilt only the second shape key (leaving base untilted), then animate the influence factor.
It might be possible to map the texture along the curve using the builtin automatic Bezier curve UV generation, plus some tweaking with the node editor to compensate for multiple segments. Have in mind that this gives no live viewport feedback, it will only be visible in the final render.