Scripts can now perform work in the editor using the EditorUpdate method.

Scripts can now override the EditorUpdate method to get update
calls while editing. This makes them more useful in creating tools
then they were previously. To make this super super useful, if a
script changes the value of a property during an editor update, that
change will be applied to the ScriptComponent's dictionary of property
values and then saved.