OSL emission + refactors and fixes

- Move ShaderGroups from Assembly to BaseGroup.
- Optimize shaders as soon as possible, so that ShaderGroup info can be used in the light sampler.
- Don't re-optimize the shaders unnecessarily.
- Enable OSL stats always.
- Changes for OSL emission support.
- OSL emission test scenes.
- Remove unused things.
- Bug fixes, formatting and small improvements.

![osl_emission](https://cloud.githubusercontent.com/assets/409013/4164552/abb48efa-34f6-11e4-859f-5b48901a93ae.png)

Can we factorize this piece of code that is repeated many times?