FileSource now inherits from SceneNode

This is because Source appends scene:path to the hashes, which we absolutely do not want if there is repetition in our incoming scene