Whole-tree sync: cad-core/cad-ui split sources, nigig-build
construction_frame migration, pdf port progress, mpesa/pay/uikit/doc
updates, workspace members/profiles/lock, CI workflows and reviews.
See individual file history for details.
JString::from(JObject) + get_string borrowing was incorrect for
aarch64 android target (jni 0.21): JavaStr doesn't impl Display and
temporary JObject dropped while borrowed. Store package_obj in local
and use JString::from(package_obj). Fixes pageflipnav android build
which pulls robius-ussd via pageflipnav -> nigig-build -> cad-ui.