gl_video: use rectangle textures

Actually, the code can handle both normal textures and rectangle
textures now (just like vo_opengl_old did). Chroma sample location seems
to be broken, no clue why, but it's not very visible, so this will do
for a test implementation.
gl_video: support packed YUV formats with Apple extensions

This adds support for packed YUV formats (YUVY and UYVY) using the extension
GL_APPLE_rgb_422. While supporting this formats on their own is not that
important (considering most video is planar YUV) they are used for
interoperability with IOSurfaces.

Next commit will use this formats to render VDA hardware decoded frames through
IOSurface and OpenGL interoperability.
vo_opengl: support for vda hardware decoding

The harder work was done in the previous commits. After that this feature comes
out almost for free.

The only problem is I can't get the textures created with CGLTexImageIOSurface2D
to download properly, thus the code performs download using some CoreVideo APIs.

If someone knows why download of textures created with CGLTexImageIOSurface2D
doesn't work please contact me :)