vo_opengl: glsl: stricter typing

Older GLSL dialects as well as GLES3 do not support the following things
in expressions:

- implicit conversions of integer constants to float
- arithmetic of float*vecN
vo_opengl: switch default FBO format to rgba, use GL_RGBA

I'm hoping this is generally more compatible, and it works with GLES.

This probably has not much of an effect on desktop GL. It also switches
only the default format for --vo=opengl, not --vo=opengl-hq.

"-hq" already uses GL_RGBA16, though since it's a sized format, the
story is a bit different, and it won't work on GLES either.
vo_opengl: cleanup dither texture creation

Might be slightly more compatible too, and will make it work on GLES.
vo_opengl: remove useless FBO test

Remove the readback stuff; it was a useless mess.

Don't test GL_R16 as FBO. The intention was to measure the effective
bitdepth of the texture, except that it was never actually done.
(There's also a OpenGL function which is supposed to retrieve the
bitdepth, but we don't use that either.)
vo_opengl: GLES 3 support

Tested with MESA on software emulation. Seems to work well, although the
default FBO format in opengl-hq disables most interesting features. I
have no idea how well it will work on real hardware (or if it does at
all).

Unfortunately, some features, including playback of 10 bit video, are
not supported. Not sure what to do about this.

GLES 2 or 1 do not work.