This commit adds support generating graalvm `jni-config.json` file. Configuration format for jni/reflection in graalvm is documented to be exactly same so we can re-use facilities for reflection hints which should be relatively clean for a user as also graalvm uses same classes for both jni/reflection. Closes gh-29007