doc: Update QiProg USB protocol description

QIPROG_READ/WRITE_[8/16/32] was originally designed to transfer as much
data as a USB control request could handle (up to 64 uint8_t, 32 uint16_t,
or 16 uint32_t). Since we want to make QiProg a more generic protocol than
USB, we can't have any USB dependencies in the final API. That means that
limiting the amount of data that can be transferred at once at a seemingly
arbitrary value is bad API design. Also. needing to specify the number of
uint[8/16/32]_t values to transfer with qiprog_read[8/16/32]() would make
a confusing API, especially when the same result can be obtained with
qiprog_readn().

Instead, make QIPROG_READ/WRITE_[8/16/32] only transfer a 8/16/32-bit value
with each transfer. For larger transfers, qiprog_readn() can be used. For
USB implementations, qiprog_readn() will use bulk transfers, not control
requests. The end result is a cleaner, more intuitive API.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>