Create additional ident for virtual sensors

The current virtual sensors uses the same ident as physical sensors. This will
cause some errors in some circumstances. For example: if an orientation sensor
and an accelerometer are both registered with a same SensorListener, they are
using a same ident. If then the orientation sensor is unregistered from that
SensorListener, the orientation sensor implementation will call into the
accelerometer's deactive method with the same ident of accelerometer. Then
accelerometer will be disabled too for that SensorListener.

This patch creates additional ident for each virtual sensors to avoid possible
problems as described above.

Change-Id: I4dc09b4ef71682bdb2d6d3bede57844279e3d43f
Signed-off-by: Han, He <he.han@intel.com>
Signed-off-by: Wang, Zhifeng <zhifeng.wang@intel.com>
Virtual Orientation Sensor is not correctly enabled

In the case that there is no hardware orientation sensor, virtual
orientation wouldn't be enabled as the orientationIndex is -1.

Change-Id: I3585fca5b278d51cb5771962a2f4dcf9cbcb70de
Signed-off-by: Han, He <he.han@intel.com>
Signed-off-by: Wang, Zhifeng <zhifeng.wang@intel.com>