Crypto signer abstraction.
Responsible for exposing signer traits and in-process signer adapters. Not responsible for defining algorithm primitives or custody policy. Assumes callers pass already validated key material for the chosen algorithm. Guarantees signer-owned secret bytes are stored in zeroizing secret wrappers.