Use a MatrixTicket instead of direct Push/Pop
Refactor Skin to use the VertexBuffer system more efficiently by creating them at load time, then modifying their positions and scaling when they need drawing. Unfortunately this leaves some stretching of textures in some cases but I cannot work out why.