WaterSurface: Tweak ripple algorithm

Remove coefficient from sine curve input
internal/Graphics: Zero-init all shadow state memory
WaterSurface: Various updates

Change ripple algorithm, add new color attachment for the box (this is
not implemented yet)
internal/Graphics: Fix _InitShadowState return value
internal/Graphics: Cache texturing state

Caches:
 - ACTIVE_TEXTURE
 - TEXTURE_BINDING_2D

New wrapper methods:
 - ActiveTexture
 - BindTexture

Help prevent redundant state changes involving texturing