[DeviceCapabilities] Add device capabilities API

This commit implements the framework of device capabilities
and parts of its API.