Env fog controller

It determines the properties of aerial fog. Multiple may exist in one map in order to change settings at any time. Fog may be changed as players enter different areas by sending the entity (probably best accessed through  and a trigger) a SetFogController input. For onward,  can do this automatically.


 * - (or attenuation) is the rate at which light intensity decreases over distance. Light reaches shorter distances in fog.
 * - can be seen when the fog particles reflect light toward the viewer. Halos and light beams become more visible as fog gets thicker.
 * Diffused Lighting - the boundary-line between light and shadow becomes more blurred (diffuse) as fog gets thicker. See 's and 's  keyvalue.

Older Source games render fog as a plane a certain distance away from the camera. This method is bad, as rotating the camera will strengthen or weaken the apparent amount of fog in a particular spot, even though the viewer hasn't moved at all. In onward, this is fixed by implementing a new radial method which is independent from the viewing angle.