fix horrible floating point precision cleaning mechanism
test: don't notify observers unless value actually changed
don't notify observers unless value has actually changed
add benchmark scripts
update benchmark scripts, and add `npm run bench`
benchmark for random int, and creating many vectors
allow user to inject clean function, and improve to not use any string ops
squeeze out a tiny bit of extra perf, just so I can say the improvement is 10x
test for initalization bug
don't need x,y on prototype because it's always set in constructor
Land: observer fixes (dominictarr)
Land: benchmark scripts (dominictarr)
Land: the ability to inject clean() (dominictarr)

Conflicts:
	lib/vec2.js
tests are passing once again
tests for toJSON and silent set
implement silent option to set, and allow setting from an object