VI: Refuse to enter INSERT mode for a r/o buffer
Readline: Fix insert position error
VariableAssignmentInput: Handle nil modes
project-{open,exec}: Support directory-only buffers

I.e. buffers with a directory but no associated file.