Add a view for Device.t

This makes the implementation of Device.t more consistent with that of
Memory.t and Utilization.t

Device.t is still exposed as an abstract type in the interface.

Signed-off-by: John Else <john.else@citrix.com>