Added an iterator to the IScene class which does depth-first iteration over the entire scene.

I copy-pasted this code from another library I've yet to publish, so there miiight be bugs.