Use safe scale in Transform.ToLocal and Transform.PointToLocal so that it cannot produce NaN or infinity values. This fixes a bug where a child of a parent with a scale of 0,0,0 cannot set position programatically without the position being infinity. It should also fix any other issues with NaN values where ToLocal is concerned (such as GameTransform) in cases where any component of scale was 0.