BSDF::sample refactor part 2

- Made BSDFSample members private.
- Added accessors.