Delete copy constructor/assign of array types / add external constructor
Rename functions: host_to_device -> to_device, device_to_host -> to_host
Fix compile error