Add RuntimeDeviceTracker::CopyState
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
copy of RuntimeDeviceTracker
, so when you spawn a thread you probably
want to copy the state of the tracker from the calling thread.