Adding LCD Menu library

The LCD Menu library allows an Arduino sketch to generate a menu on an
LCD screen, or in some other way when a full screen is not available.
A menu can consist of an unlimited number of menu items, and the user
can navigate through the items with a previous/next/select interface.
When an item is selected, a function pointer can be called. Sub-menus
can be implemented by using the menu_Enter and menu_Leave functions.
All menu items are stored in flash memory to minimize the RAM footprint.
Only the current item and the current menu are copied to RAM when
necessary. For now, it's not possible to generate menus on the fly or
modify them at runtime (though some magic can be done with the
Navigation function, see below).
The library doesn't call any LCD function explicitly; instead it calls a
function that needs to be provided by the application, which should show
the current menu title or the current menu item in some appropriate way.
For 2-line LCD's, the program should probably show the current menu
title on the top line and the current item on the bottom line. The
entire state of the library is public (via external variables) to make
it easy for a sketch to implement a menu in its own way.
A Navigation function can be defined per menu which is called whenever
the user navigates through the menu (enters a menu, moves the selection
to a different item or selects the item).