Update menu

renamed constructSelectionMenu to newMenu()

renamed editMenuConfig() to editmenuConfigActual(), localised this function
added new editMenuConfig()

editMenuConfigActual() is re-purposed as the back-end stuff for editing configs. the new editMenuConfig() is the method intended for directly editing the menu config

implemented a development log () (to be disabled when dev has finished)

added a small demo program to demonstrate functionality

completely restarted drawMenu(), renamed to drawColumnMenu()

I have written the code to format vertical menus into pages. The menu can be of arbitrary length and then formatted so that it can be spread as many pages as necessary. I am going to move onto the menu drawing and menu navigating code soon. The only problem that I am having is working out how to keep the menu config properly persistent across all necessary functions in a way that makes sense from a user's perspective. This would be really easy but I don't want to have to reformat the table every time someone navigates it so it may require a bit more work. I will go away and think about it some more. I know there aren't many comments but feel free to make a pull request if you have any proposed changes to fix my problem. Thanks