I enhanced the driver to support the full state machine of the I2C logic and added required data fields to the driver struct. Note that with activated DMA the driver is still as lightweight as before, whilst with DMA deactivated (STM32_I2C_USE_DMA set to FALSE in mcuconf.h) all DMA-related code is omitted and no unused overhead remains.
Mayhaps someone other than me finds this useful
cheers,
Thomas