Use OwnedGLObject to ensure that OpenGL objects are correctly released to avoid leaks. OwnedGLObject provides a reset/release interface similar to std::unique_ptr. The results of reset() and release() are marked [[nodiscard]] to signal the old value must be correctly handled. In addition, release() must be called to disarm OwnedGLObject destructor ASSERT.
<rdar://problem/101410305>
Committed 255900@main (0a69bc3f00f0): <https://commits.webkit.org/255900@main> Reviewed commits have been landed. Closing PR #5616 and removing active labels.