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

Please review my module and give me some advice