particle-engine: Add TODO comments
particle-engine: Remove 'next_particle_time'

I cannot get any useful rate limiting of particle creation when using a
timestamp to determine when to create the next particle. In order to get
any meaningful use out of it, I was having to use time increments as
small as 1e-16, and the sensitivity was very high (I expect that 1e-16
is very close to the minimum granularity that can be obtained using a
double, so values smaller then that were being rounded to 0.0f).

An alternative approach would be to include a
'max_new_particles_per_tick' and 'new_particles_this_tick' counter in
the particle engine struct, so that for each update of the particle
engine, the amount of particles that can be created is rate limited by a
maximum value, rather than a time.
main: Change bg color
particle-engine: Introduce a 'particles per ms' rate limit

This attempts to address the problem of timestamp granularity raised in
b7eab5f by using a 'new particles per ms' rate limiter. With each update
of the particle engine, the time difference between the current time and
last update time is multiplied by this constant to provide a maximum
number of particles which should be created in this update. Once this
maximum has been reached, no more particles are created in this update.