Require at least CUDA 5.0:

- remove ifdefs in runtime
- simplify code generation
Add copy constructors and assignment constructors:

- this brings the same support to gcc as clang provides:
  uchar4 tmp = 0;
- nvcc does not implement the required constructors.