camera: use new ION APIs for cache operations.

This change incorporates the API changes for cache operations.
The cache operations have now been moved to a custom ioctl, with
a new custom_data argument.

Change-Id: I81f0fdb6a7556b433bac6e7ccaa78922aabecdb2
(cherry picked from commit 40bc6b9491e7dae982ba6c886ebec039293e4c08)
    Camera: Invalidate snapshot buffers after allocation

Invalidate snapshot buffers marked for caching after
allocation.
This will prevent corruption in cached buffers.
Bug: 9021801
Change-Id:
Ie250aac05304b51096aa6f8fd0d36d31e876646b
camera: use same ion client for buffer cache operations.

In the new kernel, every new ion device that is opened
creates a new client, irrespective of whether it's from the same
process or not. Hence, the buffer cache operations will
have to be carried out on the same fd that was
used to allocate the buffers. This change makes
the necessary adjustments to achieve the same.

Change-Id:
Ic4e245f9f8f2fbe2606251cb97837cfdc01a72a3

This fixed cache invalidation errors