Initial version of new module to distribute camera frames to consumers.

Add FrameDistributor class, that allows passing frames from a
SurfaceTexture to multiple consumers in an efficient manner.
In the CaptureModule, this distributor is used to handle frames
coming from the Camera. It then hooks up a single FrameConsumer
to render frames into a SurfaceTexture.
Note, that this particular FrameConsumer is atypical in the sense
that it reuses the FrameDistributors GL context for efficiency.
Other consumers will typically use their own GL contexts and threads
for processing.

Bug: 18142762

Change-Id: Iee258d108004c23b7d9777204b58c013a9999215
8 files changed