leveled nodes now have an alias from level 0 to air, meaning that code
that changes the level of a node doesn't have to differentiate between
setting its level, and removing the node when the level is supposed to
be 0.
add API support for leveled nodes, used via these two functions:
`blockgame.register_leveled_node` registers leveled nodes for each level
up to a given maximum.
`blockgame.check_for_stacking` checks whether a given node is
supposed to stack with its vertical neighbors, and if so handles that.