better objectScaleLock in the editor

Previously, if you crossed over zero scale into negative scales, you could sometimes slip into NaNs, and then had to uncheck scale lock and reset scales manually. With this change this is kinda fixed (there are still rounding errors thanks to UI.Number.prototype.setValue that make scales go out of sync after some time, but no NaNs now).