feat(btoa): port and modify from Base64.js

Please review my module and give me some advice
Sorry I missed this, b/c in the original repo it doesn't check btoa's functionalities, so I guess we have to change it to `HAS_BTOA`. Thanks!