Support parsing access token from JSON as needed by Google and Foursquare

This pull request implements #18 and is mostly @praeclarum's code, but with a minor tweak: Google will send `expires_in` as an integer, so we need to support `int`s when parsing JSON.