Refactored Scene and Shader: Abstracted both to delegate functionalisty to inheritors.
Updated DrawCall and World to reflect changes.