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).
IMO the regex is just a bit more robust since it'll match exactly ^videoN$, whereas sscanf would be more tolerant.