Add OnStartup and OnShutdown support to scene node scripts.
Correctly handle the case when a script component has change on the scene.
Add skeleton ScriptVariable class.
A few improvements/fixes for when a script component is added and removed from a scene while it is already part of a scene.
Add initial implementation of public variable parsing to the script definition.

This is going to later be used for integration with the editing tools.
Add initial code for assigning default values to public variables.
Some architectural work on the system for allowing a script component to specify custom values for variables.
Update the serialization of ScriptComponent.

This is not backwards compatible.
Add the ability to retrieve the names and types of a script attached to a script component via the scripting interface.
Add some infrastructure for changing the value of a script variable via the editor.
More work on the script variable editor integration.
Fix a bug where the public variables in the script component were being removed at the wrong time.
Have the variables of a script component in the editor refresh properly when the script file changes.
Make it so that the state of the Lua scene node object is updated when the owner scene receives an OnSceneNodeComponentChanged message.
Have the game stop playing in the editor if a save, undo or redo operation occurs.
Small improvement to the script variable GUI in the editor.
Another small improvement to the script component GUI.
Remove an old TODO comment.
Add support for Vec2 script variables and make a few small changes to the GUI.
Add classes for the remaining script variable types.