[CORE] vmm_devdrv: Make device driver model more generic and unix-like

Currently, we had a basic device driver model which enabled us
to specify: device, class, and driver instances. There was no
way of describing bus topology in this device driver model.

Going forward we would need more generic and unix-like device
driver framework which also enables us to describe bus topology
hence this patch.

Signed-off-by: Anup Patel <anup@brainfault.org>