add caches for length/lengthSquared, add dirty() for clearing out caches. make set call dirty()
bump version (1.0.0)