Added IObjectNotify so we can find out when objects are destructed. Shelled out a little more of asset.
More work on Asset. Recurse the object fields to add all references appropriately.

TODO:
- Serialisation needs support for looking up objects, and getting a string name/id for them so that they can be loaded as required.
- Need to think through async loading so we can load a package, and it automatically trigger the appropriate dependencies. Should be done as jobs, of course.
- Asset system needs implementing.