Overlap prevention

I've added a simple physics engine that prevents Dots from overlapping each other. The most notable additions are Physics.js, and the updateArcsClipPath function (in dot.js).

Please review, and then I will merge this into master.