Drop-in replacement for DBIx::TransactionManager with savepoints for nested transactions