stm32_i2c: ensure that unexpected ISR can't overwrite stale data

if we get an ISR leftover from a previous read transfer it could use
stale values for priv->dcnt and priv->ptr to overwrite stack that is
no longer in scope. This resets dcnt and ptr on each new
stm32_i2c_process() call to ensure that any unexpected data bytes are
discarded