rewrite PieMenuZone to prepare for submenus

This makes Slice a tree structure, to allow infinite nesting.

This also fixes a bug that I think was present in remove(), as it was
not tested before now.