Major Particle refactor - each particle system now uses a linked list for particles and gets them from a ParticleFactory that also recycles.