Fixed scoping bug where tokens weren't being cached in the gapi instance

I noticed that a new token was always being requested, even though the previous one was still valid. After checking the code, I saw that the token was being set on `this.token`, but it was inside a callback. Bound the gapitoken instance to self and used that instead.