Broke out OO particle code into its own file. Need to do the same with the shaders once they're finalised.