Fix assertion (failed for empty containers)
Allow selection of ghost node when in empty block

Osenkov had the idea of ghost nodes between the regular nodes of a tree,
allowing the cursor to jump between them. Because I went for the "select
the real node" deal, I couldn't jump into empty blocks to insert items
there.

This hacky patch allows the creation of a generic node when navigation
to an empty block, thus allowing insertions in there. And because the
parent doesn't know about it, it goes away as soon as the user creates
anything in there.