Merged multi-bitbang logic and improved HW I2C support
This release required changes to the function definitions, but it was worth the hassle. Now it supports an OOP method of instantiation which allows an infinite number of I2C buses to be defined, each with unique bit-bang or hardware I2C parameters.