[feature] Adjust `User-Agent` header according to communication layer

this relies on the build system for setting `XI_USER_AGENT`, which will not work on mbed