This patch changes the apply modifier operator so that it creates objects
for instances created with the "Point Instance" node in the modifier's
node group. The code change is actually quite simple because the correct
behavior almost already existed in the "Make Instances Real" operator.
{F9557436}
The operator in `object_add.c` has its arguments and conditions slightly
tweaked so it can recognize the instances creates by the nodes modifier
(which also means that it can work on these instances without applying
the modifier). The editor-level function is then exposed for use in
the modifier apply operator.
I turned the parenting and heirarchy options on, because this can create
a lot of new objects and it's nice to have them attached to the original
object in the outliner and for transforming.
One thing this **doesn't** do is create collection instances for the
collection instance type in the "Point Instance* node. Instead it creates
instances of all of the objects in those collections. This is just a bit
unfortunate, but it's the way the "Make Instances Real" work right now.