A small optimization for setting shader uniforms.

This ignores uniforms that have an invalid location or -1. This can occur when applying uniforms from materials.
A few little optimizations and improvements to bloom in the default scene renderer.

The first test I did was a 7x7 Gaussian blur on the bloom map but it didn't offer any great improvement. The shaders used for this test are included in this commit in case they become useful later on.
Fix a multi-threading bug with shader creation and setting uniforms.
Fix the point light shadow map face transformations.
A tiny theoretical optimization to point lights.

This just removes a normalize() and subtraction out of the fragment shader. No noticeable improvement, but no slowdown either.
Improvements to lighting.

1) A new attenuation function is now used which is simpler and much, much easier to use.
2) Shadows are now blurred using an 11x11 kernel instead of a 21x21. Faster, and still looks decent.

The next commit(s) will be doing more cleanup of the old attenuation system which is going to break serialization.
Remove the left overs from the old attenuation system and add the new properties to the serialization.
Fix a bug where the transform control in the scene editor would be shown when nothing is selected.
Whitespace.
Add a new control for simple number inputs for the properties panel in the editor.
Add support for changing the linear and angular damping of a dynamics component to the scene editor.
Add a clamp to an input property I forgot about.
Add a lower-bound clamp to a couple of property text boxes.
Convert the remaining properties of DynamicsComponent to the new number input control.
No longer add the main scene editor camera to the scene.

This now means there are no more system-level scene nodes added to the scene loaded in a scene editor.
No longer use a minimum automatic scene IDs in the scene editor.

This is no longer needed now that system-level nodes are not added to the scene in a scene editor.
Add support for the camera component to the scripting environment.
Add the ability to add a camera component to a scene node in the scene editor.
Add support for setting properties on the camera component.

This commit also fixes a minor GUI bug in the dynamics component panel.
Add the ability to set a camera to a scene viewport via the scripting environment.

This commit also fixes an issue where the transform control in the scene editor was getting updated excessively.