Add basic output surface support with g2d
Add overlay layer for OSD

This partly breaks X11 integration due to hardware limitations. The video
area can't be overlapped by other windows now, until we get some fallback
path for this. For fullscreen use, however, this is no problem.
Use defaults for null rects
Initial bitmap surface support
Handle null source/dest rects properly
Handle invalid source surface properly
Fix null pointer dereference in vdp_presentation_queue_display()
Unify interface to different decoders (now more object-oriented)

This should make it easier to further clean up some of the mess in h264
decoder and add more formats.
Add very basic mp4 decoder

First test version, don't expect it to work with all files. It needs
a lot more testing.
Fix clipping of output_surfaces

If clip_{width,height} are null the whole output_surface has to be shown.
Merge branch 'master' into osd

Conflicts:
	presentation_queue.c
	vdpau_private.h
	video_mixer.c
Add cache flush to surface put_bits functions
Prevent possible OSD flickering
Make OSD support runtime switchable through VDPAU_OSD environment variable

By default OSD is turned off, because the OSD layer still breaks
X11 integration. To enable OSD support, set environment VDPAU_OSD=1
Merge branch 'osd'
Fix R<->B color swapping.
Don't swap R and B value, if rgba_format is VDP_RGBA_FORMAT_B8G8R8A8, because it's the right one for ARGB.
Codestyling of function definition.
Make Vdp functions more readable using linebreak and indentation in arguments list.