Moved RNG usage into Sampler

When making a Sampler you now have to pass in a pointer to an existing
RNG. The sampler creates the required distribution object from the
passed in FloatRange. You might remove this later and just have users of
Sampler pass in a distribution object directly. Is there a common
distribution base class?