* more cuda progress ("reimplementing opencl"):
   * restructured header files used during compilation (most cuda related functions and wrappers are located in oclr_cuda_*.h header files, most of the opencl implementation on top of cuda resides in oclr_cudacl.h)
   * significantly improved regex processing in cuda_translator (only apply regex on user code that actually needs it, not oclrasters cuda header files; improved vector access replacements;)
   * added cuda_support.sh helper script and template headers files (in etc/cuda_support) to generate code for the following two cases:
   * implemented opencl type conversion and reinterpretation functions (convert_typen, as_typen)
   * added cuda vector type helper templates (used to ease creation of function templates that operate on single and vector types)
   * added a proper implementation/wrapper around opencl vector accesses (uses actual type dependent functions now, instead of simply assuming float types; supports all kinds of swizzling now)
   * implemented clamp and smoothstep functions for opencl vector types
   * fixed atomic functions (the documentation lied, atomic function names start with a lowercase 'a')
   * added c++11 style type support templates
   * added half typedef (unsigned short)
   * implemented vstore_halfn functions
   * use OCLRASTER_FUNC everywhere (updated oclr_framebuffer_clear.h and oclr_image_support.h, +their templates)
   * removed obsolete implementations from cutil_math.h
   * added image1d_t "support" (correct detection + enum)
   * a cuda "out of memory" exception/error will now print the used and available memory
   * define OCLRASTER_CUDA_CL globally for all cuda compilations (instead of inside a header file)
   * set the "emulated" opencl version to opencl 1.2 (instead of the default 1.0)
   * for now (until nvidia fixes it): directly specify to use llvm-g++ during compilation with nvcc on os x (as this is deprecated on 10.9, a 10.8 or earlier llvm-g++ binary is required to compile cuda code)
   * fixed cuda buffer+kernel handling
   * implemented host side functions: create_sub_buffer, map_buffer, create_and_map_buffer, unmap_buffer, _fill_buffer + preperation in delete_buffer for image buffer support
   * as of now, this is still not fully functional, although only host side function implementations/wrappers should remain now

 * other changes:
   * added a create_and_map_buffer to the opencl class (this creates a buffer and returns its mapped host pointer in one step; might be used for optimization purposes later on, as the buffer must only be available and initialized after unmapping the host pointer -> avoids double initialization/data upload)
   * use regex::optimize flag in regex constructors everywhere
   * added two osx_helper functions: get_system_version (returns the run-time os x version) and get_compiled_system_version (returns the used os x version during compilation)
   * added two os x specific defines for all opencl and cuda kernels: OS_X_VERSION and OS_X_VERSION_COMPILED (run-time + compile-time os x version)
   * improved gpu score computation (nvidia card scores are multiplied by 32 (fermi+) or 8 (older), amd card scores are multiplied by 16; this is to aid fastest gpu device selection when gpus of multiple vendors are present)
   * added CL_MAP_WRITE_INVALIDATE_REGION define, when compiling with opencl 1.1 headers (better than a lot of ifdef'ed code later on)
   * buffer objects and image buffer objects (opencl::buffer_object) can now be discerned used the image_type member variable (this IMAGE_NONE for buffer objects, anything else for image objects)
   * "added" intel gpu support (already worked as-is, just wanted to explicitly mention it :))
   * fixed cl_khr_gl_sharing/cl_APPLE_gl_sharing extension requirement in oclr_global.h (now that os x version specific defines exist)
   * don't undefine the printf function for gpu devices on os x 10.9 in oclr_global.h (this is finally working :))
   * updated tccpp submodule
   * updated xcode project files