Fixed crash where PointSets were initialized with zero points.
Not entirely sure which change caused this.
Also did a bit cleanup and more error/invalid state handling.