`PointInstancer` Prototype Scope Best Practices

Thanks Spiff for the thoughts. I think we’d be happy to contribute a PR.

Regarding the cleanup example, I think you could imagine different users might have different perspectives on what they might consider cruft. Consider the following spec tree authored on the root layer with Asset_1 being originally introduced (concretely defined) on a sub layer

over "Asset_1"
{
   over "Geometry" (append apiSchemas = "MaterialBindingAPI")
   {
       rel material:binding = <../Materials/OverrideMaterial> (materialBindingStrength = "strongerThanDescendants")
   }
   over "Materials"
   {
       def Material "OverrideMaterial" (references = @material_library.usd@</metal>)
       {
       }
   }
}

It defines a new material and overrides the material binding on the geometry scope. Were Asset_1 to be removed on the sublayer, you could imagine wanting a helper available to remove the entire Asset_1 spec tree on the root layer, even though it contains a concretely defining specifier as a leaf.