std: add Reader impl for &[u8] and a Writer impl for &mut [u8]

Note that the Writer impl for `&mut [u8]` does trip over #19147,
but it's easy to work around by using `(&mut writer)`.