Remove SceneObject.

This commit also fixes a bug to do with the way material shaders are stored in the default renderer.