Menu

Adds menu system.
Add only "menu.h" header file here, the remaining header files must be included in menu.h to make the code more understandable and maintainable,