General purpose engine for implementing Evolution Strategies. Both (μ+λ) and (μ,λ)
strategies are supported (choose which to use by setting the boolean constructor parameter).

Though this implementation accepts the eliteCount argument for each of its evolve
methods in common with other EvolutionEngine implementations, it has no effect for
evolution strategies. Elitism is implicit in a (μ+λ) ES and undesirable for a (μ,λ) ES.

plusSelection - If true this object implements a (μ+λ) evolution strategy rather
than (μ,λ). With plus-selection the parents are eligible for survival. With
comma-selection only the offspring survive.

offspringMultiplier - How many offspring to create for each member of the parent
population. This parameter effectively defines a multiplier for μ that gives λ.
We define λ in this indirect way because we don't know the value of μ until
it is passed as an argument to one of the evolve methods.
For a 1+1 ES this parameter would be set to one. For other evolution strategies
a higher value might be better. Eiben & Smith suggest 7 as a good value.

rng - The source of randomness used by all stochastic processes (including
evolutionary operators and selection strategies).