[web][native] Encrypt QR auth messages with AES
Summary:
Refactored functions for composing and parsing Tunnelbroker QR auth messages to use AES-256 encryption, instead of plaintext JSON stringify/parse.
This required separating them for web/native, due to platform-specific implementations of AES encryption. Also needed to implement some minor helpers for web that were already present on native.
Depends on D11331
Test Plan: Still able to perform QR code auth on both web and native. Added unit tests for helpers on web.
Reviewers: kamil, michal
Reviewed By: kamil
Subscribers: ashoat, tomek
Differential Revision: https://phab.comm.dev/D11332