Add SetSpatialObject method to directly update a node from a filename

This prevent the hassle of having to add a node to the scene, copy it and
then delete it. It's also cleaner as we don't have to deal with that new
node display nodes. Before we were leaving them around after the node's
deletion which is bad for perfomances.
Also add a Reset method to the spatial object node. This allows a bit of
code refactoring and improves the nodes API.