Use lists of words instead of byte strings

Lists of ints of received/transmitted words will be more useful in the
majority of applications than the raw byte strings.

This format also makes adding support for 16-bit and 32-bit transfers
easier to implement in the future.