Optimized lighting of underwater terrain

The water light filter is now applied first to avoid computing
terrain shadows when no light passes through the water layer.
Applied correct lighting and atmosphere to vegetation
Optimized vegetation rendering by detecting back-face polygons
Merge branch 'master' into vegetation
Added vegetation to global light filter
Added BaseDefinition virtuals for vegetation (load, save...)
Externalized googletest as a git submodule
Use version 1.7.0 of google test
Merge branch 'master' into vegetation