add support for `/dev/self`

ZRT and other libraries can use the nexe image binary file for some of their features
for example, to know the addresses of functions or to load some functions dynamically
we map the binary to a special device `/dev/self`, can be considered a ZeroVM ABI
the patch adds support for `/dev/self` channel into zvsh-generated manifests