cap_util: try to reduce lag: less buffs, read all.

in detail, we (1) allocate only 2 buffers in init_mmap() and (2) reading all ready frames in read_frame(). note that either approach would yield a similar effect, but we're doing both anyway for now. with only 2 buffers (the minimum) it seems only one frame at most is read in read_frame(), not 2 as one might expect. and there still seems to be 2 'steps' of lag, not one as one might expects ... hmm, the mysteries of V4L2. anyway, this may be moot in the long run, so we're not going to sweat it too much for now. it's better currently than it was before with 4 bufs and reading only one frame per read event; in that case there was many 'cycles' (i.e. read_frame() call intervals) of lag.
intermediate commit: convert conv_pyra to use capture_t for input.

i think we want to generalize conv_pyra so it can use
images/image_lists/video as input, as well as either do multiscale
output or not. then, one mode/app would handle all those
cases. however, it's still up in the air a bit. next steps include:
(1) recover the functionality lost in this commit (2) generalize the
our image source class.