Does anyone have any recommendations for software, or perhaps a programming language that specialises in creating animations/simulations in maths and physics?
For example,
"Turning a sphere inside out"
"Mobius transformations revealed"
"Klein bottle"

HHHmmm....in my kid's Linux machine with Ubuntu in it, I think that if one goes into the Software Center applications, one can find catergories like Scientific, Mathematics, Physics and get popular software like SciLab and more obscure like FreeMat and Euler; out these three, I am thinking the last one may be more along the line of what you want.

While the graphics may not be as pretty, there is VPython (Visual Python) that is use for visualization mathematical/physical stuff.

I like free software, just in case you did not noticed.

If you have the money, I think Mathematica can render the kind of 3D surfaces like in the linked video.