OSL emission code, refactor #1.

Modified EDF interface to allow for OSL emission, instead of treating it as a special case 
to avoid creating a ShadingPoint (not so expensive in any case).

In that case we usually write the actual name of the class being defined, here `OSLEDF`.