Improve Signer and Decryptor for Key
- Use sign_message_async/decrypt_ciphertext_async instead of their 'sync' counterparts
- Wrap calls so that an async environment is detected and spawn a new thread with a new runtime so that the calls can block without affecting the main thread.