[DeviceCapabilities] Add device capabilities API

This commit implements the framework of device capabilities
and parts of its API. Currently, we only implement part for mobile
which include cpu, memory and storage. Display feature hasn't been
implemented in this commit.
[DeviceCapabilities] Use Promise return type in js