Add a couple of shell classes for the new scene node class system (prefabs).
Add more groundwork for the prefab system.
More early work on prefabs.
More work on the prefab system.

This code is still untested.
Add untested code for creating a hierarchy of scene nodes via a scene from a SceneNodeClass.
Const correctness.
Add the ability to create a scene node class via the library.
Fix a bug in the scene editor where undo/redo points could be created while the physics simulation was running.
Fix a bug where the scene editor's hierarchy panel was not having it's selection state set properly.
Add the ability to enable a set of default events on a Menu element.

The default events will hide the menu when the mouse is clicked elsewhere and will also hide it when an item is pressed.
Have the context menus in the data explorer use the default events.
Improve the menus in the menu bar.
Add the ability to keep the world transformation of a scene node when it changes parent.
Improve the scene editor's hierarchy panel context menu.
Remove some redundancy with context menus.
Create an undo/redo point when a scene node is orphaned via the scene editor's hierarchy panel.
Have an orphaned scene node stay selected when orphaned via the scene editor's hierarchy panel.
Cleanup.
Keep the scene node selected when changing the parent via the scene editor's hierarchy panel.
Add the ability to duplicate and delete individual scene nodes to the scene editor.

Previously, only selected nodes could be duplicated and deleted.