* create a sub-buffer of the actual image data for buffer-backed images and use that one in all read, write, copy and map functions (this makes things a lot easier)
 * increased image header size to 128 bytes for buffer-backed images (a 128 byte/1024-bit alignment is required by opencl when creating a sub-buffer)
 * more opencl class cleanup + added functionality (const correctness, sub-buffer create function)
 * removed non-const get_default_framebuffer function from pipeline (the user shouldn't be able to change anything in the default framebuffer, especially since the images memory is "managed" by the framebuffer)
 * version bump