Uses Transform Feedback, a new feature of WebGL 2.0, to simulate 1 million particles. If WebGL 2.0 isn't available will fall back to WebGL 1.0 and track the simulation with render to floating point texture. Particles will spell out "WebGL 2" when using the 2.0 backend and "WebGL" when using WebGL 1.0.
Demo is based on a mashup of code from http://mrdoob.com/lab/javascript/webgl/particles/particles_zz85_2m.html and http://mrdoob.com/projects/christmasexperiments/2013/, both by the talented Ricardo Cabello (Mr. Doob)
Bonus: If you have a Leap Motion plug it in and wave your hands around. :)