Added few constants
New class ParticlePool, can be enabled in the ParticleSystem with EnableCache(..)
Particle system uses ParticlePool if so enabled using ParticleSystem.EnableCache(..)
Changed ParticlePool to use Queue() instead of List
Refactored ParticlePool. Now there is a generic version of ObjectPool which is used by ParticlePool
Added Constant and RandomDepthGenerator
Cleanup