1. Refactored common ScriptEditWindow specific codes out of Python nodes
2. ScriptEditWindow now directly owns/manages the Auto-complete window
3. ScriptEditWindow updates Python nodes through UpdateModelValueCommand