driver/i2s: bugfix and refactor for i2s Closes IDF-3656 and IDF-3738 See merge request espressif/esp-idf!14704