Exit clean on Control-C
Allow passing an I2C object or bus name

Clients can either pass in the bus name and device address,
or create the bus object themselves and re-use it for multiple
devices.