pub fn decode_varint(data: &[u8]) -> Result<(u64, usize)>
Decode an unsigned LEB128 varint from a byte slice. Returns (value, bytes_consumed).