Suspending Decoder
Reads T asynchronously from a pre-bounded ReadBuffer slice.
Codecs must not retain the buffer/slice past return. The framework releases the slice on normal exit, exception, or cancellation via lexical slice().use { } / withBuffer { } semantics. The same consumer-boundary copy primitives apply as on Decoder.decode — see that interface's kdoc.