Rename particle_swarm -> particle_system
particle-system: Add support for type switching

This adds some of the foundation work for changing the run-time
behaviour based on the particle system type.