Base Video Classes TODO

Main goal:

 Make the video encoder/decoder base classes more consistent with the
other GStreamer API, especially with the audio encoder/decoder base
classes.

API:

 The API should be named similar, the base classes should be used
similar by the sub-classes, the behaviour of the base classes should
be similar.
 Currently there are many, mostly small, differences between the audio
and video base classes API. Things like GstVideoState should be merged
with the stuff we have in 0.11 to make the API the same in 0.11 and
0.10 as far as possible, things like GstVideoInfo might make sense to
be backported (at least partially).


Specifics:
 * Use a GInstancePrivate for extensability.

 * Try to move more common video objects to video.[ch]

Known bugs:
 https://bugzilla.gnome.org/show_bug.cgi?id=664127
  [basevideodecoder] Add separate drain vfunc and differentiate
    between hard/soft reset in reset vfunc

 https://bugzilla.gnome.org/show_bug.cgi?id=660770
  Doesn't support handling of "partial" frames

 https://bugzilla.gnome.org/show_bug.cgi?id=654294
  Impossible to flush pending frames in ::set_format

 https://bugzilla.gnome.org/show_bug.cgi?id=658241
  add API to handle QoS events and dropping logic

 https://bugzilla.gnome.org/show_bug.cgi?id=667653
  Autodetect multicore/multithread processors

 https://bugzilla.gnome.org/show_bug.cgi?id=617021
  Add support for QoS messages to -bad decoders and other elements


Peripheral issues
 https://bugzilla.gnome.org/show_bug.cgi?id=663262
  theoraenc: spurious encoder resets due to unstable upstream
  timestamps cause quality issues
  => Investigate how to specify/handle variable framerates.
