Is there an alternative to this approach that utilizes less dependencies?
You could certainly write your own API using the HttpClient combined with the Drive API. The API uses simple Get/Post/Put/Delete/Patch http methods to change files in the google drive.
Can I utilize a different OAuth 2.0 library or must I use Google's OAuth sdk?
Depends. If you wrote your own, then you can use (or write) any OAuth client. The http methods must include the OAuth information in the requests, so writing your own gives you that type of access.
If you are looking for an actual product recommendation, that would be an off topic question (do not ask #5) for stack overflow.
Update
Let talk about how OAuth works at a very very high level. Once the user authorizes your code to impersonate (for lack of better terminology), you get a Authorization Code, which you use to get an Exchange Token.
The Token is the important part. If a pre-build framework does not have any way for you to specify what the Token is it doesn't matter.
If you wanted to authenticate your request yourself, say using C#, when you make a call to access Google Drive API, you'd want to add the Authorization to the Google Headers (or QueryString, but I personally don't like to use the Querystring):
GET /plus/v1/people/me HTTP/1.1
Authorization: Bearer 1/fFBGRNJru1FQd44AzqT3Zg
Host: googleapis.com