RendererServices changes

Most RendererServices functions take a ShaderGlobals *, but for historical reasons (i.e. accretion), just a few took an opaque void *renderstate.  Since the ShaderGlobals structure contains a renderstate pointer within it, and some renderer implementations might want other items within the SG to do their work, it seems like the more general (not to mention uniform) apporach is to always pass the SG around.

Furthermore, some renderer implementations may find it really handy to have the SG available (and maybe the void* renderstate contained in the SG) in order to find the right matrices for RS::get_matrix and get_inverse_matrix. (For example, allowing per-object name-matrix bindings.)

This is a break in API compatibility. I apologize for doing it so late in a release cycle, but these are actually important changes for some renderers, and for some OSL features we wish to implement going forward.

Renderer authors: you will need to make the corresponding changes on the renderer side as well. After this, I promise that 1.5 will be locked.