use event-mode interface to viewfinder in order to hold onto frames for longer than one frame period.
this lets us implement a rate-adaption queue.
also a first stab at texture scaling to eliminate the empty 'stride' portion of the buffer.