gpu-particles: support arbitrary number of particles in fragment shader backend