msm8974-common: Clean up Samsung device inheritance

* Remove duplicate keylayouts
* Move media_codecs to platform tree
* Unconditionally build consumerir
* Move postrecoveryboot to qcom-common
* Move common msm8974 HAL/packages to platform tree
* Move wifi config to device trees
* Use nested cm.dependencies
* Generate firmware symlinks at compile time
* Move egl.cfg to msm8974-common
* Move QCOM_BSP to platform repos
* Move telephony permissions to device
* Move reboot to download option to qcom-common
* Move common overlay options to qcom-common

Change-Id: I493dcf24269e852e7819c045dc3afc5c47da176a
add missing firmware links for klte

Change-Id: I935ce5e905e674460eb89923ec43337e6c03c08d
msm8974: CameraWrapper: Fixup logging to prevent parameters getting cut off.

Change-Id: I71853560fee9e261293d9c89c8d5653006e280e2
msm8974: CameraWrapper: Fix the off value for hfr

Apparently, this must be the last element, not the first element
in the list.

Change-Id: If202337e9211475030cc5fa136c6624e52ff8997
msm8974: consumerir: Convert transmit input from ms to pulses

According to:

 https://developer.android.com/reference/android/hardware/ConsumerIrManager.html#transmit%28int,%20int[]%29

the pattern is supposed to be in ms.  Apparently Samsung and HTC
in versions 4.4.2 and earlier of Android were treating this as
the number of pulses instead of ms.  This is what our HAL is
supporting because it mimic'ed what the vendors were doing.

However, we should switch to the correct spec of the pattern (ms)
and eventually this will cause apps to converge on the right
patterns.

Currently, this change will break half the existing apps and cause
the other half of the apps to stop being broken and to start
working.

Change-Id: I87cedcc8e0b85d7b96ed63c7d4f82cc53ecb4ecb
msm8974-common: Remove unnecessary flags

Change-Id: Ibdec447992d72a26a5fd6b5356fb58cbeac3b19b
msm8974-common: Move NUM_FB_BUFFERS to msm8974-common

Change-Id: I1d5007477277445b5abf8bafb7fcfd2d7c2c0f39
IR: Increase Buffer size

  Fixes JIRA CYAN-5239

Change-Id: I6d6a2cd48f9b7b485099c84517cab9e7b08d1e3a
msm8974-common: Add missing audio lib (qcompostproc)

Change-Id: Ie22377b5021b7c5f312b27fd446c2ab4f846db7e
msm8974-common: Fix boot jars classpath

Change-Id: Ia0409853277f7ea0409c7bbaf546f25d363fc441
msm8974: Disable HEVC codec

 * Requires a proprietary component and does not work well on 8974
   anyway. Remove it to pass MediaCodecList CTS test.

Change-Id: I0b98f07fadef3e63842597109ea7da1a37ccea8e
msm8974: move firmware symlinks to vendor as binaries expect.

Change-Id: I24f97a3483e4304a67d16849a3d85bef1dc699cb
consumerir: Dynamically grow an appropriately sized buffer

The IR pulse sequences are written to a local buffer to be
passed to the kernel.

Previously, we doubled the fixed size buffer (from 1K to 2K)
to work around a crash that was occurring for long sequences.

Another crash has been found when using Smart IR Remote and the
POWER function of the TX P42X10E remote by Panasonic (TV category).

Rather than double the size again and wait for another counter-
example, dynamically allocate the buffer and grow it as needed
to handle any IR sequence.

Change-Id: Id4fb799d8a5ad4242e04a68e6cc6436a14f4d2d0