added basic hardware support

Currently, hardware can only (a) be connected and (b) receive interrupts.
Future capabilities will be added later.