added 3D vector class

template vector class that can be used with different base types like float, double, int ...
the class includes overloaded operators and basic vector functions.
often used 3D vector types are already declared for convenience: float3, double3, uchar3, uint3, int3