This comes after picking the visual library, since 2D v.s. 3D and framework would affect the choices here
Potential Options:
verlet-system for 2D / 3D verlet
Particulate.js
Cannon.js
Physijs, Oimo.js
need to try them out and do some comparison - or collect collective wisdom from the internet.