hardware: add ro.hardware.<class> to HAL loading properites list

Try to load a HAL determined by ro.hardware.<class> first before
falling back to hardware, board, platform, arch, and default.
This is intended to be used to support multiple hardware variants
from the same source.  For example, a single build that supports
two gps chips, gps001 and gpsb, could use /factory/factory.prop
to set ro.hardware.gps=gps001 or ro.hardware.gps=gpsb, which would
load gps.gps001.so or gps.gpsb.so.  Two separate builds from the
same source could use PRODUCT_PROPERTY_OVERRIDES to set the
properties.

Change-Id: I1ac46c21ceb27ceb5165e8c44e9373e9c5d4e34e
libhardware: Add sound card status parameter

Currently audiod monitoring sound card status instead of adsp status.
This is a bug fix to monitor sound card. Audio HAL is going to use
sound card key to check sound card to status.

Change-Id: If2eba2aad2a70a414c8b258bba1ecd8f3a4b8df1
hwcomposer: Add HWC_BLIT compositiontype value

- HWC_BLIT this layer will be handled in the HWC, using a blit engine
- setting this will inform Surfaceflinger to flip FB_TARGET

Change-Id: I25d19ec41b57863d451c3e390109c912faf1381c
Fix PAN control callback definition to match what bluedroid is doing.

There's a discrepancy in the order of arguments between the interface
and the implementation. bluedroid swaps the |error| and |local_role|
arguments when calling back so this change redefines the interface
for consistency.

http://b/12853951

Change-Id: I0ccfc6d6d2002d647d484ab7f53744863b569502