Merge pull request #3741 from ey6es/master

Use 3D geometry (cones, spheres) for rendering point and spot lights for deferred shading, exiting the fragment shaders early on depth fail.
make the AudioInjectorScriptingInterface a singleton
remove the voxel drumming script
wait on AudioInjectors when shutting down interface
Merge pull request #3742 from birarda/injector-crash

cleanup stray AudioInjectors when interface is being shut down
fix for two member variable declarations on same line
Merge pull request #3743 from birarda/injector-crash

fix for double definition in ScriptEngine