screenrecord: allow force landscape mode

Some devices' hardware encoder do not support encoding over a
specified height, which may be smaller than the device's display
height in portrait mode. Add a mode which uses landscape encoding
and rotation hint to overcome the limitation.

Change-Id: Icdd8de05d55c2aaaacbcaba4857173c78ef76a24
screenrecord: Add audio support

Adds audio recording to the screenrecord system. Note that
while recording, the audio is muted from the device output,
and that the audio volume is controlled separately (so make
sure to turn up your volume if you hear nothing).
Audio from the microphone can also be recorded by adding
--microphone to the command line.

Change-Id: I97dfcaf3d93b786c5466e1f4215549e3d015bcf0
fix screenrecord abort issues

Change-Id: I95ae71e49506d3dfa7df691f0a9b6464ff691ff1
Screenrecord: allow force mic for audio

Some older devices audio blobs do not support audio submix,
allow those devices to force using the mic for audio while
screenrecording.

Change-Id: Ief3a14e00d0bf32cc131742fb82556621f54be36
screenrecord: Raise time limit to 30 minutes

Change-Id: I4e3466e7cf83b80dea48d4b2ca24ad9ead96f321