* fixed the parallax mapping shader (now that the correct camera position is set, use the correct code to compute the per-pixel normal)
 * splitted internal transform buffer (store rasterization variables V0/V1/V2/depth and triangle bounds in separate buffers -> only need to access the latter in the binning stage + sequential instead of strided copy; -> only need to access the former in the rasterization stage)
 * new branch where I'll restructure the transform stage to allow different kinds of primitives and actually split the transform stage into a "vertex shading" and "primitive assembly + processing" part
 * better handling if OCLRASTER_INTERNAL_PROGRAM_DEBUG is defined both via the command line and in global.h
 * fixed non-osx compilation (missing state. in the camera setup)
 * added initial code to handle/draw different primitive types (for now this is still triangles-only!)
 * pipeline draw command range is now [first, last) (that is, inclusive first element, exclusive last element) to match general c++ and opengl style
 * updated all samples accordingly
 * reintroducing: processing stage:
   * split the transform stage into two parts, the actual user programmable transform stage ("vertex shader") and the processing stage (handles primitive assembly, additional primitive transformation, culling, clipping)
   * the processing stage is executed after the transform stage (and prior to the binning stage)
   * added an additional transform buffer that stores the transformed vertices (float4*)
   * transformed user data is now stored per-vertex instead of per-triangle (these were duplicated before -> waste of memory; however, this now requires access to the index buffer in the rasterization stage)
   * the "built-in" "index" variable given to user transform programs now stores the vertex id (before: triangle id); also: "VE" is now directly called "camera_position"
   * user transform programs now have to return their transformed float4 vertex (instead of calling the "built-in" transform function)
   * vertices (and thus triangles) can be directly discarded now by calling the "discard()" function in the transform program
   * the pipeline draw call now also requires the vertex count
 * oclraster_program and derived classes can now set their kernel function name (for better identification; -> renamed transform and rasterization kernels)
 * the camera constant buffer is now created and managed by the pipeline class instead of the transform_stage (this way, it's accessible from all stages + it's only updated when necessary)
 * added a get_vertex_count function to the a2m class
 * updated all samples accordingly
 * version bump
 * implemented rendering of TRIANGLE_STRIP and TRIANGLE_FAN primitives (I'm not sure if I'll leave the kernel code like that, but it doesn't seem to affect the frame rate, probably due to all work-items taking the same branch)
 * moved camera_setup buffer update to an extra function, so it can be called externally when not using the provided camera functionality (the draw_state camera_setup must of course still be in a valid state!)
 * extended the oclr_rtt sample a little bit to test the rendering of TRIANGLE_STRIP and TRIANGLE_FAN primitives (compile-time switch to either render a rectangle, a hexagon or a flag)
 * removed now obsolete opengl rtt class
 * moved creation/assembly of primitive indices to a separate kernel header file, since it's used by both the processing stage and the rasterization stage
 * wip: lifted some limitations on oclraster_structs (tccpp will be integrated soon)
 * enforce utf-8/unicode spec when converting from one to the other
 * merged transform_restructuring branch, as this is fully working now, although I'll do more restructering soon
 * updated internal kernel templates