* more cuda progress:
   * more cuda device side functions (a few of them are only a temporary solution, until I write my own cuda vector library, which is necessary for a proper/fully working solution)
   * added opencl image related types/enums/functions (only so that compilation works, they won't actually work)
   * fixed function declarations of some oclraster functions (added OCLRASTER_FUNC)
   * added missing kernel defines (OCLRASTER_IMAGE_HEADER_SIZE and OCLRASTER_STRUCT_ALIGNMENT)
   * fixed write_buffer (device pointers can actually be manipulated on the host side and it'll simply work)
   * implemented read_buffer
   * more regex voodoo (strip global and local qualifier from pointers, as this is unnecessary in cuda; use \\w instead of more verbose matchers; fixed vector access replacement for post-function like accesses)
   * add OCLRASTER_FUNC to the users oclraster_program main function (the user will still have to add OCLRASTER_FUNC manually for all other functions)
   * added double-cast "(int)(size_t)" to the generated STRUCT_INFO kernels (silences the nvcc warnings)
   * use buffer based image backing in the oclr_simple sample for now (until there is native cuda image support)
   * NOTE: oclr_simple sample actually runs now, but still with a black screen