add support for isEditable method in data interface

this can provide a less expensive way to determine if cells are editable
without resorting to creating a control. in practice this fixes some
cases where editors were initialized several times before being
displayed