New particle system

yay
Can be, although I don't think it's bad. Why do we need write "pc.shaderChunks" when we can just use "shaderChunks"? Because someone can mistakenly define another global shaderChunks? Well, there is actually a higher chance someone will define another "pc". So I'm actually very sceptical about that namespacing.