Regarding to bug issue #645. Many tests fail on non-Windows machine

This solves 7 tests failure related to Scene/CentralBodySyrface.

ShaderProgram._automaticUniforms somehow contains more objects in Mac than it contains in Windows. automaticUniforms[i].automaticUniform.getValue(uniformState) does not always call uniformState.getProjection(), sometimes it calls other function like uniformState.getModelView3D(). This cause the object projection undefined, which eventually leading to a null-pointer exception. 

Adding if(typeof projection !== 'undefined') solves this problem, and won't affect execution of other existed functions.