add SpotLight; refactor part of LightManager/SceneManager/DeferredRenderer; other adjustments