Update for version 0.1.8

Larger internal refactoring: The OpenCL functions are now called
via function pointers. This prevents UnsatisfiedLinkErrors when
using JOCL with support for an OpenCL version that is greater
than the version that is installed on the client. The native
source files have been restructured and the makefile has been
adjusted accordingly.
Added cl_buffer_region class for new binding
to clCreateSubBuffer function
The Pointer#to(Buffer) method does not take into account
the position and arrayOffset of the buffer. This behavior
may have undesirable implications, like a different behavior
for slices of direct- and non-direct buffers. Therefore, a
new method, Pointer#toBuffer(Buffer) has been introduced,
which takes the position and arrayOffset of the buffer
into account. The old method is kept for backward
compatibility, but clients are encouraged to review their
uses of the Pointer#to(Buffer) method, and consider changing
it to Pointer#toBuffer(Buffer) with a buffer that has the
right position for the intended data transfer.
The CL#allocateAligned method has been deprecated. It should not
be required by clients, and will be removed in future releases.