expo: Implement the keypress logic for popup menus

In 'popup' mode, the expo allows moving around the objects in a scene.
When 'enter' is pressed on a menu, it opens and the user can move around
the items in the menu.

Implement this using keypress handles and actions.

Signed-off-by: Simon Glass <sjg@chromium.org>
diff --git a/doc/develop/expo.rst b/doc/develop/expo.rst
index 2f48828..80e435c 100644
--- a/doc/develop/expo.rst
+++ b/doc/develop/expo.rst
@@ -178,8 +178,7 @@
 - Image formats other than BMP
 - Use of ANSI sequences to control a serial terminal
 - Colour selection
-- Better support for handling lots of settings, e.g. with multiple menus and
-  radio/option widgets
+- Better support for handling lots of settings, e.g. with radio/option widgets
 - Mouse support
 - Integrate Nuklear, NxWidgets or some other library for a richer UI
 - Optimise rendering by only updating the display with changes since last render