Pass correct buffers to LINK_jpeg_encoder_encode function

I believe the correct ones are mThumbnailMapped and mRawMapped.
In non ION driver for MSM8660 mRawHeap is used for both thumbnail
and snapshot, but onlu mThumbnailMapped is registered in kernel
with MSM_PMEM_THUMBNAIL type in this version so I think I should
use it for thumbnail generation.
Recording issue workaround - pass preview frames for recording

Unfortunately it produces the video with messed colors.
Revert this change after fixing the recording
Fix segfault if dequeue_buffer fails

When dequeue_buffer fails the handle is being set to NULL.
Remove unneded log message
Massive code cleanup

Remove unused memory heaps, unused and dead code
Reintroduce cameraHAL.cpp, remove QualcommCamera.cpp

Restore cameraHAL.cpp that is being used on other branches,
Remove the Qualcomm's ICS camera hal,
Port the cameraHAL.cpp to the API changes in QualcommCameraHardware