add `EditSession.tabSize` and `EditSession.onChangeTabSize` with tests