New particle system

yay
Do these variables need to be public in the pc.gfx namespace? Could they be made private? This entire file could be written so that you extend the gfx namespace and in the end return which public methods or variables you want to expose.