SMBus Request Parser

This library encapsulates the state machine for handling smbus requests on the module ("slave") side. The only requirements on the hardware driver/implementation is that they generate these events:

Whether these events are generated by polling, interrupts, or dma does not matter. The state machine is agnostic to clock stretching and timing details.