Bluetooth Low Energy devices have an invalid class value, so we cannot
use it to deduce the type of the device. Instead we can use the
appearance value. This is what bluez does to set a proper icon for the
device. The appearanceToType() function is adapted from the
gap_appearance_to_icon() function (bluez.git/src/dbus-common.c).
More info about appearance values in:
https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=7c2a566b8a95fe3a701941c7d46ddccb14a78dae