Editor tweaks

A couple of small tweaks to editor.js:
- Always-on editors weren't calling canEdit
- Columns can have an optional onEdit function which is called before showing the editor widget. I need this in my code because I have a custom widget that changes itself depending on which cell is being edited.