Support AMD-style loading

If `define` is available, it uses the function to declare a dependency on
jQuery and then returns exports.OAuth when finished. If `define` is not
available it proceeds as previously designed.
    
With this setup, we can use RequireJS to bring oauth.js in to our
application just like any other AMD library.

```javascript
// This is some app.js
define(['lib/oauth'], function(OAuth) {
    OAuth.initialize('...');
});
```