Decode base64 from an owned Vec (in-place whitespace strip + decode).
Avoids a full buffer copy by stripping whitespace in the existing allocation,
then decoding in-place. Ideal when the caller already has an owned Vec.
Stream-decode from a reader to a writer. Used for stdin processing.
Reads 4MB chunks, strips whitespace, decodes, and writes incrementally.
Handles base64 quadruplet boundaries across chunk reads.
Decode base64 data and write to output (borrows data, allocates clean buffer).
When ignore_garbage is true, strip all non-base64 characters.
When false, only strip whitespace (standard behavior).
Stream-encode from a reader to a writer. Used for stdin processing.
Uses 4MB read chunks and batches wrapped output for minimum syscalls.
The caller is expected to provide a suitably buffered or raw fd writer.