Prosemirror-gapcursor at start and end of doc

That approach doesn’t seem to align very well with what gap cursors currently are—they are defined as occurring on the block level, so a code block (which has inline content) can’t contain them. But the allowGapCursor configuration is about whether a given node can contain gap cursors. I’m not really comfortable further blurring this, because it is already pretty subtle and error-prone (there have been bugs with accidental gap cursors appearing in the wrong places before).