android: use int type for size in DirectBufferAllocator allocate

Change-Id: Ied2687d334f7d1ff9ff2f3cb6664848d50814b7c
android: VM based implementation of DirectBufferAllocator

DirectBufferAllocator is responsible to allocate buffer. We used
Fennec JNI based allocation (and freeing) because of overallocation
bug in some Android versions. With this the VM based allocator
implementation is added and used by default because of bugs that
happen in newer Android versions (specifically when ART is used
as the Android VM).

Change-Id: I07eb364fd1647b3a09d1568d4fef82398a02dfeb
android: add destroy and exit as a separate JNI call

Change-Id: Ia8516da556b3736f34b366e2eb89ad8bbd7bafc1