It is sometimes the case that you want to copy the state of one
RuntimeDeviceTracker to another. This is particularly the case when
creating threads in the control environment. Each thread has its own
RuntimeDeviceTracker, so when you spawn a thread you probably
want to copy the state of the tracker from the calling thread.