When a PB references a bone controlled by a constraint, the subtree rooted at that
bone will be present only on the original armature tree, and not in the avatar's
main armature tree (except for a stub object that may or may not be used for a constraint
reference).
Previously, there was a bug in which PBs would reference the stub object, rather than the
object that contains the bones that need to be animated by PBs. This commit changes the order
of processing so bones are only registered for rewriting PB referenced if their subtrees will
be transferred to the main armature.
This adds support for animation mapping for MergeArmature components, as well as supporting locking the position of
MergeArmature-controlled transforms to their original counterparts, to ease animation editing.
With this change it might be best to eliminate the bone proxy component, as it's a bit redundant now.