The hardcoded 15s timeout for the dual-store build is too tight —
normal boots with VSS take 7-15s, and restore-from-seed (where
every read falls through to VSS) consistently exceeds 15s. This
causes a misleading "cloud backup unavailable" alert even when
VSS is reachable but slow.
Add setVssBuildTimeout native method (iOS + Android) and set it
from JS based on whether the local SQLite DB exists: 30s for
existing nodes, 60s for restore / first run. Also add timing
logs across JS and native layers to diagnose future issues.
Add a native mnemonicToSeed method (CommonCrypto on iOS, javax.crypto on
Android) that performs BIP39 PBKDF2-SHA512 in ~5ms vs ~3.4s in pure JS.
The fast BIP32 key derivation and secp256k1 signing remain in JS.
Combined with the prior dedup fix, LDK Node startup drops from ~8.6s to
~2.8s (67% faster).
The VSS key was derived twice during LDK Node startup — once for the
storeId and again for auth header generation — each costing ~3.4s of
PBKDF2 in JavaScript. Derive once in initNode and pass the precomputed
keypair through to generateVssAuthHeaders.