Cloning and Skinning Fixes

Fixed some issues with cloning of nodes (specific to RenderState), where a crash could occur if you tried to release the original node. The new node also shared some of the state of the original, where it should have been making a copy.

Fixes issues with rendering scenes that nest models within joint hierarchies.

A side effect of the above fix is that joints are now always visited when calling Scene::visit() and it is also possible to have the same joint visited more than once for complex nodes that have multiple models referencing the same joint.

Fixed an issue where cloning a node that had certain material auto bindings could crash if the node was not part of a scene before cloning it.