New particle system

yay
These vars are polluting the global namespace (and the functions in this file are too). Can this be wrapped in the pc.gfx namespace?