* due to opencl not allowing reads and writes to the same image object inside a kernel: completely moved to using normal global memory buffers as framebuffers (color: uchar4, depth: float); note that this also means that the framebuffer always has to be copied to an opengl framebuffer before blitting it to the actual window framebuffer
 * simplified/cleanup up the binning kernel
 * when a kernel fails to compile, actually delete the kernel object and return a nullptr
 * if a user program fails to compile, print it to the console and log
 * rasterization program changes: always read the framebuffer color and depth at the start; don't reset the pixel_color any more (-> it will always contain the last valid color now); some cleanup
 * added clearing of global memory framebuffers to the clear framebuffer kernel
 * removed now obsolete development transform and rasterize kernels