[Editor] ScriptInstance attribute persistance

This PR:

- Editor will no longer change ScriptInstance attributes behind your back if an error is thrown in a script (as long as you correct the error / don't save while the error exists ...).
- Drag editing undo history is cleaned up.