Note: For a Gamma distribution to have the mean mean and variance
variance, set the parameters as follows:

alpha = mean * mean / variance;
lambda = 1 / (variance / mean);

Instance methods operate on a user supplied uniform random number generator;
they are unsynchronized.

Static methods operate on a default uniform random number generator; they
are synchronized.

Implementation:

Method: Acceptance Rejection combined with Acceptance Complement.

High performance implementation. This is a port of RandGamma used in CLHEP
1.4.0 (C++). CLHEP's implementation, in turn, is based on gds.c
from the C-RAND
/ WIN-RAND library. C-RAND's implementation, in turn, is based upon