Add menu rendering

This adds a menu defined by the states that can be navigated to. An
explanation is written in the menu renderer. For now it is not styled,
and is not really usable.