When nothing is entered in the editor, editor value is returned as "" which doesn't match with previous null or undefined value and the cell is marked as dirty.
To prevent it, column.editor.getData callback can be used.
editor:{
getData: function(ui){
var val = ui.$cell.find(".pq-cell-editor").val();
return val===""? null: val;
}
}