This phases out PrimFunc.buffer_map entirely. Buffer parameters now
carry their BufferType annotation directly in PrimFunc.params, with no
compatibility constructor or derived PrimFunc buffer map.
The migration updates construction and visitor paths across TIRx, TE,
S-TIR, Relax, printers/parsers, packed-ABI lowering, specialization,
storage rewriting, and related tests and documentation. BufferType
signature shapes use left-to-right match-scope binding: the first quoted
shape expression defines missing symbolic variables, and later
dimensions, parameters, and matching scalar declarations reuse those
exact variables.