moar modular menu system

struct MenuButtonInitializer allows you to add a name and an action to a
button to allow quick menu building