[lib][native] Use ensjs for ENSCache name/address resolution
Summary:
This addresses ENG-5308, and fixes basename resolution (eg. ashoat.base.eth) in getNamesForAddresses (ENG-9569).
I wasn't able to update getAvatarURIForAddress to use ensjs; see context here. As a result, ENSCache currently needs both an Ethers.js provider and a Viem client to work. I added ENSWrapper as an abstraction layer over these.
Test Plan: I added new unit tests. Before the changes in this diff, the new nfthreat.base.eth unit test for getNamesForAddresses would fail. Now it passes
Reviewers: varun, will
Reviewed By: will
Subscribers: tomek
Differential Revision: https://phab.comm.dev/D13699