In the lightweight build, lazily load bn.js only when necessary. Also, use Uint8Arrays instead of strings in PKCS1 padding functions, and check that the leading zero is present when decoding EME-PKCS1 padding.