Add particle weighting, refactor constraint indices

Storing indices as particle index rather than precalculated
vec3 offsets simplifies accessing both position and weight
attributes, requires less memory, and has no
[performance penalty](http://jsperf.com/cached-v-calculated-indexing).
Add tests to jshint
Merge branch 'feature/weights' into develop