feat(btoa): port and modify from Array.of.js

Please review my code and give me some advice, thanks @tomchentw .
Please just use `testSubject` instead. `testSubject = Object(3);`

It's duplicated with the following declaration of `var testObject`.