* added experimental iOS support:
   * very slow and buggy (OpenCL on iOS only supports the ARM CPU, and even then, there are a few compiler bugs that I'll have to work around in the future)
   * added ios_helper (since OpenGL ES on iOS has no glBlitFramebuffer, the opencl framebuffer actually has to be drawn to the OpenGL ES/iOS renderbuffer -> added GLES shader support + draw a fullscreen triangle in pipeline.cpp instead of blitting the framebuffer)
   * misc iOS/OpenGL ES related adjustments (-> gl_support.h; rtt; ...)
   * note that oclr_simple will not create a completely packaged .app (data folder has to be located at /var/mobile/Documents/oclraster for now)
 * added highly experimental image support:
   * added image support backed by a standard/normal opencl memory/buffer object (support for actual/native opencl image backing, via image2d_t/image3d_t/..., will be added in the future)
   * added new struct type to declare used images inside a user program: oclraster_images (only supported type is "image2d" for now; more types will be available in the future and current type name will probably change!)
   * supported data/texel types: int/uint 8/16/32/64, float 16/32/64
   * supported channel types: R, RG, RGB, RGBA
   * added bind_image function to pipeline
   * added image support to oclraster_program, transform_program, rasterization_program (still wip)
   * possibility to directly create an image from a .png file (via SDL2_image), including type+channel conversion (int/uint-8 and R/RG/RGB/RGBA only!)
   * note that only RGBA uint-8 images are currently supported in user programs
   * max image size is determined by CL_DEVICE_MAX_MEM_ALLOC_SIZE (128 MB+); otherwise there is no limitation on the image width or height
   * added oclr_image.h (currently contains the image header handling, image typedefs and nearest/point + bilinear read_image functions; in the future this will contain all image read and write functions)
 * added MAP_BUFFER_FLAG enum class (necessary to disallow invalid BUFFER_FLAG types and allow the WRITE_INVALIDATE flag)
 * opencl::map_buffer now takes MAP_BUFFER_FLAG flags and returns an 128-byte (!) aligned void* (sizeof(long16) alignment required/provided by OpenCL)
 * added dummy opencl::_fill_buffer for compilation with OpenCL 1.1 headers+lib
 * a2m vertex data now also contains the computed binormal and tangent
 * added file_io::read_file to string object (+file_to_string) and close the file in the destructor if it's still open
 * added vec*mat functions to oclr_matrix.h
 * added simple_texturing vs/fs programs (parallax mapping + phong lighting)
 * updated oclr_simple sample to use simple_texturing programs (added compile time switch to use either simple_texturing or simple_shader) and load images (4 different sets/"materials")
 * oclr_simple now also contains key handling for toggling light color and position updating ('C' and 'L'), model transformation ('M') and changing the model material set ('1' to '4')
 * added blender monkey model (with uv coordinates), 4 sets of textures (light, planks, rockwall, acid) and some misc images (color noise, monochrome+color scale images)
 * misc cleanup + improvements
 * fixed texture permissions