Remove the Particle object.

This is more suited for another library.
More logical code organisation.

Legacy code and newer code where arbitrarily separated.
I've combined related code into useful categories.