Implement basic memory space support for PjRt CPU
Implement basic memory space support for PjRt CPU

This CL implements minimal memory support for PjRt CPU so that memory space APIs can be used consistently across device types. Like GPU, each CPU device for now has just one memory space kind (`device`) and all memory space flavors of transfer APIs redirect the calls to the corresponding versions that take a device instead, assuming that there's only one device to which each memory space is attached.
