* fix(python): scope custom layer factories to Net lifetime
Replace the process-global ten-slot callback table with stable per-Net userdata. Preserve registrations across clear() and destroy layers before releasing their factories.
Add real-binding regression coverage for repeated and simultaneous Nets, numeric and named registrations, reloads, callback lifetime, subclassing and interpreter shutdown.
Fixes#4560
* fix(python): release superseded custom layer callbacks
* fix(python): guard unencodable named custom layer slots