Added an event for changing fog distance

Adds an event for changing fog distance. This event occurs after fog is rendered normally, which makes it much more useful than the current fog density event which takes no consideration of vanilla fog. It is also at much better timing, as other GL functions can be performed to modify fog too if so desired.
Getting the event handlers themselves to set the fog is by all means a valid option, and i'm happy to change to that if it's more preferable.

With regards to the cooperation, unfortunately that same issue falls with the existing FogColor/FogDensity events. It's a matter of different mods using different conditions and/or using the current value and dynamically altering it based on the requirements.