Use gdev_io_memcpy instead of using memcpy directly

Since memcpy may use SSE code, it's not appropriate for IO memory
Module loader lookups functions by section's name

Since CUDA 5.0~ compilers don't guarantee that .nv.XXX appears orderly.
So we should lookup actual function by using XXX name.