Add texture transforms

Texture transforms allow to change the way a texture is mapped on
a surface. They can be used by adding a transform child to a
texture_instance in the XML project file.

Issue #43