allow spawn_cl template parameter to use C types

this patch allows developers to write `spawn_cl<float*(float*,float*)>`
instead of `spawn_cl<vector<float>(vector<float>,vector<float>)`