Visual Studio: Fixed primary compilation problem after full migration to generator.

Passing 'int', 'char', etc. to the OpenCL kernel class directly is not supported,
as OpenCL only guarantees that 'cl_int', 'cl_char', etc. are binary-compatible.
The fix to this is to use viennacl::result_of::cl_type<T>::type