* added more accessors to the vector class (vec2: lo/hi; vec3: lo/hi/xy; vec4: lo/hi/xy/zw/xyz); note that fully compatible opencl style accessors are impossible in c++ w/o compiler extensions (even then, it'll lead to size differences ...), but this should be good enough for now (and I'll probably add function accessors like .xyz() or .wx() later on)
 * moved FLOOR_UNDERLYING_VECTOR_TYPE code directly into the vector class
 * added (initial) support for vectors containing references, e.g. vector3<float&> (this should at least partially work, but probably won't work with all functions?)