gambatte_qt/framework/qglblitter: clear thrice

more behind-your-back triple buffer semantics leaking through.

there does not seem to be any guarantee for how many buffers are actually
used with "double-buffered" opengl, but more than 3 seems unlikely.

contrary to popular belief avoiding clears actually matters in some relevant
scenarios, so let's just bump the number of clears to 3 and move on.
gambatte_qt/framework/qglblitter: formatting/readability/cleanup
qpainterblitter: always use image back buffer

get rid of union.
avoid touching back buffer on resize.
lock-free resize.
qpainterblitter: update new frontbuffer from backbuffer on resize

make an effort to keep image data on resize.
common: add smart_ptr deleter template parameter
xvblitter: use smart_ptrs to handle XFrees
x11blitter: use smart_ptrs to handle XFrees
x11blitter: hide class definition

get rid of Visual void *.
x11blitter: use image abstraction rather than subblitter abstraction

avoid touching back buffer on resize.
lock-free resizing.
more error checking.
use perror.
x11blitter: update new frontImage from backImage on resize if paused

make an effort to avoid losing paused picture on resize.
swscale: support srcpitch. less casting. gcc x86 tweaks.
qglblitter: only create subwidget when used

avoid stale state hanging around.
more proper use of initializeGL.

add some conservative use of makeCurrent again and hope that we do
not run into common driver bugs this time.
qglblitter: use QGLContext::getProcAddress rather than custom version

delete now unused x11getprocaddress.
qpainterblitter: hide class definition
xvblitter: hide class definition. improve shm error checking. cleanup.

use perror.
name constants.
drop some superfluous XSyncs.
qglblitter: hide class definition