OSL improvements.

- Renamed microfacet2brdf to oslmicrofacetbrdf.
- Modified the shadowing masking functions to work on either side of the surface (for refraction).
- Switched default beckmann shadowing masking function to Smith G.
- Added oslmicrofacetbtdf.
- Removed fresnel terms from osl microfacet bsdfs (must be done shader-side).
- Prevent invalid values for params in the closure -> BSDF conversion code.
- Removed memory allocation in CompositeClosure.
- Aligned closures more closely to the spec.
- Various small fixes and improvemens.

In the vast majority of the cases, when a texture is acceptable, a color is as well. Accept colors whenever you accept textures.