Improved sampling of Disney's BRDF sheen component.

- Fixed bug in sheen sampling weights.
- Moved sheen into its own component.
- Switched to uniform hemisphere sampling for sheen (Still not optimal, but better than before).
- Small code improvements.

before:
![sheen_cos](https://cloud.githubusercontent.com/assets/409013/4100371/8b5dbf1c-3093-11e4-8e1d-c722e7c4a141.png)

after:
![sheen_uniform](https://cloud.githubusercontent.com/assets/409013/4100372/93822b74-3093-11e4-92b2-4881985cb2d3.png)

Are you sure that the component selection logic is correct? You need cumulative weights, i.e. a CDF, but that's not what you have here. If, say, `weights[DiffuseComponent]` and `weights[SheenComponent]` are both 0.25, the sheen component will never be sampled.