The YouTube API is used to add YouTube playback ability to your app, which means you will be able to embed a YouTube video within the interface of your app. Yes, it does need the official YouTube client to be installed, since that's what will be giving you the playback code, and the ability to play videos. But, you don't need to run it. The video will be within your app.
I haven't checked, but it's logical to assume that com.google.android.youtube.player.YouTubePlayerView
is a View implemented in the YouTube official API, that will be injected in your app using the YouTube API, which will be rendering the video.
In order to render the video and play it in your app, you need support from the official YouTube app. Simple as that.
The YouTube API docs does mention it will be available on devices running Android 2.2 (Froyo).
So in order to use the API, we must need support from the YouTube app.
Regarding your second question, please refer to this post.
First of all, Google's YouTube app (4.2.16) that we use to support YouTube API is not open source. It is a free app but it doesn't mean it's open source. Google haven't published the source code of the latest YouTube app, and the YouTube API is also not open source. Moreover, it's an experimental project.
Have you seen the source code of these two projects anywhere?
Maybe they will come up with more modifications and features, but I think there is no workaround solution as you said.
If I am wrong, please correct me.