Enable initializing Timer with a DeviceAdapterId
Previously, a vtkm::cont::Timer had to be initialized with either no device or with a device adapter tag. However, this precluded initializing the timer with a DeviceAdapterId, which made it difficult to create a timer at runtime. Instead, just accept a DeviceAdapterId (which all device adapter tags inherit from) and do runtime checks.
Showing with 17 additions and 10 deletions