Merge the PCM_READ|WRITE_* macros defined in pcm/pcm.h, as well as the
intpcm_read|write_* macros defined in pcm/feeder_format.c, into four
inline functions: pcm_sample_read|write[_shift](). The absence of macro
magic makes the code significantly easier to read, use and modify.
Also introduce pcm_sample_read|write_24bit(), which are the same as
pcm_sample_read|write(), but include a 24bit <-> 32-bit conversion. See
related comment in pcm_sample_read_24bit().
Since these functions take the input/output format as a parameter, get
rid of the read() and write() function pointers defined in struct
feed_format_info, as well as the feeder_format_read|write_op()
functions, and use the new read/write functions directly.
Sponsored by: The FreeBSD Fondation
MFC after: 1 week