Camera: obtain and use the timestamp from camera driver to avoid
jerkiness in recorded clip.

Fix the jerkiness in recorded clip by getting the timestamp from camera
driver instead of using the timestamp generated at camera HAL, thus
avoiding thread scheduling dependency.

Adds missing part from commit:
https://www.codeaurora.org/cgit/quic/la/platform/hardware/qcom/camera/commit/?id=1307f31269fc8dbe23161a16e821c347e5bc13be
Prevent camera from crash when starting recording

When starting video recording the following situation occurs:

E/QualcommCameraHardware(  170): receivePreviewFrame: buffer to be enqueued is unlocked
E/BufferQueue( 1397): [unnamed-1397-1] queueBuffer: slot 2 is not owned by the client (state=3)
E/Surface (  170): queueBuffer: error queuing buffer to SurfaceTexture, -22
E/QualcommCameraHardware(  170): receivePreviewFrame: Failed while queueing buffer 42 for display. Error = -22
E/BufferQueue( 1397): [unnamed-1397-1] dequeueBuffer: min undequeued buffer count (2) exceeded (dequeued=5 undequeudCount=1)
E/QualcommCameraHardware(  170): receivePreviewFrame: Failed while dequeueing buffer from display. Error = -16

When the buffer dequeueing fails the handle is being returned as
null which causes segfault when dereferenced.
I've workarounded this issue. However the cause of this situation
is not solved.