Simplify path: make it a simple list

This allows a path to be agnostic of the tree itself. By encoding directly in the path the node's type, it becomes less versatile.

Incidentally, this PR removes completely the "position_in_rendering_list" concept and therefore uses constants as keys. This makes it much easier to work mentally with paths.