vda: use implicit current GL context

Removes the dependency from the Cocoa backend in case we are not using
it but still wanna use VDA GL introp.
vda: make independent from cocoa backend

Basically, don't access the vo field.

There's also no reason anymore to access MPGLContext. We still need to
access loaded GL functions though, so add a field for that to gl_hwdec.

Untested.
vaapi/GLX: don't access VO backend

Same as with the VDA change.
vdpau/GLX: don't access VO backend

Same as with the previous commits.

In theory, vdpau/x11 GL interop doesn't assume GLX. It could use EGL as
well. But since it's always GLX in practice, so we're fine with this.

Remove the gl_hwdec.mpgl field - it's unused now.
vo_opengl: move hwdec parts into their own files

This wasn't done before because there was no advantage in "abstracting"
it. This changed, and putting this into its own files is better than
messing it into gl_common.c/h.
vo_opengl: make uninit idempotent
lua: fully cleanup removed key bindings

This is basically cosmetic; it was leaking the old handler functions.
video/filter: kill vf_pp (libpostproc)

This is an ancient filter, and we assume it's not useful anymore.

If you really want this, it's still available in libavfilter (e.g. via
--vf=lavfi=[pp...]). The disadvantage is that mpv doesn't pass through
QP information to libavfilter. (This was probably the reason vf_pp still
was part of mpv - it was slightly easier to pass QP internally.)
video: remove internal QP passing

This was required by vf_pp, which was just removed.

vf_dlopen has this stuff in its API. This API is considered stable, so
the related fields are not removed from it. But the fields are always 0
now, so there's no point in keeping the example program around.

vf_pullup.c did some extremely awkward passthrough of this information,
but didn't actually use it.
video: remove things forgotten in previous commit

Oops.
build: showqscale was removed