Add particle swarm and galaxy demo

This adds an alternate type of particle engine based on swarming
behaviour. At the moment, this is limited to modelling orbits, but ideas
for future development include modelling more natural swarming
behaviours.