Major update; add drmsink, restructure video memory interface

A sink for the DRM interface found in modern devices has been
added, derived from GstFramebufferSink. DRM is the newer and
more sophisticaed kernel interface for graphics hardware that
replaces fbdev. Although DRM provides an fbdev emulation layer,
the emulation layer is generally limited to a single screen
without page-flipping or off-screen buffer suport.

GstFramebufferSink is no longer fbdev-specific although it still
contains some fbdev helper functions.

The video memory interface has been restructured so that as
seperate allocator is used for each buffer format.

As a side effect it appears propose_allocation is no longer called
twice when using playbin, fixing video memory allocation issues.

On the other hand, DRM does not provide a clear method to get the
available video memory, making it problematic to automatically
determine the number of video memory screens/buffers to be used.
Add GstFbdevFramebufferSink class and use it for fbdev-based sinks

Add GstFbdevFramebufferSink class, which is derived from
GstFramebuffersink and contains fbdev-specific code. The plugins
fbdev2sink and sunxifbsink derive from this class.

The base GstFramebuffersink class no longer contains fbdev-specific
code. drmsink directly derives from GstFramebufferSink.