detect lack of devices

@emcho: as discussed, this detects the lack of devices and doesn't try getusermedia then.

might still break other stuff further down the road as it is relatively hard to test the lack of devices when you have built-in devices...

needs ui/ux polish