Object oriented rewrite
Added before and after methods in renderers
Added stable version of alive and dead pools to save memory and reduce
object creation overhead
Added attribute maps for emitter, modifier and renderer types
Copy attributes map on emitter, modifier and renderer instance creation
Make gravity point modifier customizable (gravity and mass variables)
Make billboard renderer customizable (point size)
Each renderer instance has it's own list of particles in order to avoid
iterating over all particle instances
Each emitter instance has it's own list of modifiers (for example a
gravity point can apply on particles from one emitter, but not from
another emitter)