Fix device removal in DeviceManager::driver_scan()
Fix bug #285 by handling device display names through DeviceManager
Currently, DeviceManager::device_description() is used to determine
how a device should appear in the device selector combobox. This is
problematic because bug #285 requests that a device should show
the extra information only when multiple such devices are present.
Without having access to all devices attached to a particular driver,
this cannot be solved.

This patch makes it possible by creating each device's display name
in the DeviceManager class and storing it there. This way, they
can be constructed while having access to all devices and
transparently queried by anyone who needs them.

This has three advantages:
1) bug #285 can easily be solved
2) device display names are only recalculated when necessary
3) another bug regarding SamplingBar::set_device_list() can be fixed
   (see following commit for details)
Use additional list to retain device order for set_device_list()