mp_ring: make mp_ring_read_cb provide an exact amount of bytes

The previous code would pass down `len` instead of `read_len` which, in theory,
could be more than what was available in the buffer.
mp_ring: improve documentation

This improves some lacking areas of the documentation based on some remarks
and questions I got on IRC from @jon-y.
w32: silence some warnings