Map|Client: Fully encapsulate the clientside Generators collection within de::Map

Also began remodeling the particle generator representation toward a
more object-oriented model (note that a particle is not modeled as an
object at this level, for obvious perf reasons).

Todo: The specialized Generator collection is now unnecessary.