Explicitly set the version that we're targetting
Add shadowmap shader type and shadowing technique enum
Add shader sampler types and exprs
Don't filter the depth map like an idiot and use PCF