performant for loops

in reverse should be okay as most actions are currently async... will probably have to create another particle system class called async particle, just so its clear that this particle system's particles do not interfere with one another.