The freemenus() function frees all the memory allocated by the
corresponding call to createmenus().
    void FreeMenus( struct Menu *menu );
Its one argument is the menu or menuitem pointer that was returned by
createmenus().  it is safe to call freemenus() with a null parameter,  the
function will then return immediately.