Device listing

This starts with @Rugvip's device-listing work, and adds a bunch of fixes on top. Tested this on Linux (with a single video camera, and multiple mics) and Android (where there is a front and back facing camera).

In the long run, this should all probably be replaced with the new GstDeviceMonitor API, but should work for now.

For testing, test-self-view can be made to allow manual selection of sources via a #define (this is off by default, though).
http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/sys/androidmedia/gstamc.c#n359