Allow other values than 'cpu' and 'gpu?' for the device.
Register the new type with OutputGuard and DeepCopy.
Add some optimizations and start work on the ops needed for a simple NN.