kernel: Introduce basic device driver subsystem

Signed-off-by: Pawel Dziepak <pdziepak@quarnos.org>