This patch supports instantiating object data on append/link, reported as a bug T58304.
This is an option, available when linking/appending, similar to the existing "Instance Collections" option.
Notes:
- Currently to add object-data to the scene you need to append it, then add an object of the same data type and manually swap the ID in the ID selector.
- In many cases users *really* mean to append objects, not object data, so we could leave the current behavior as-is and resolve in the linking UI (support filtering by object type, or rely on the asset manager to better handle this usability issue).
TODO:
- This patch sets and clears LIB_TAG_DOIT for all ID types, this should be changed only to clear/set id types that are needed, it's not complicated but would add changes in many other places, making this patch much noisier, this needs to be done before the patch can be considered finished but shouldn't be needed for the purpose of reviewing the basic functionality.
- add_collections_to_scene / add_loose_objects_to_scene / add_loose_object_data_to_scene could de-duplicate add-object logic, I'd prefer this be left separate from this patch.