Document the ‘add-menu’ opcode and the ‘show-menu’ instruction

These describe what we will go on to implement for supporting menus
and menu choices in the engine at an interactive level.
Implement the basics for ‘add-menu’ and ‘show-menu’

We use no-ops for both this opcode and its corresponding instruction.
In all likelihood we will keep the no-op for the opcode.  However, we
provide a stub implementation of ‘show-menu’ because it will need to
invoke a coroutine that we have not yet written.  The documentation in
the ‘Instructions.md’ file explains the purpose and reasoning.  But we
still add this stub to satisfy the debugging code which ensures that
we are not forgetting to implement any opcode or instruction
processors, otherwise we would not be able to run any other example
script until we completely finish the implementation of ‘show-menu’.
Fix a minuscule grammatical error in the comments for ‘Menu.choices’
Create ‘add-menu’ opcodes when we have Menu objects in Scenes

This patch teaches the Scene ‘content to opcode’ conversion process to
be aware of Menu objects.  Everything else we currently use as
arguments to the Scene constructor returns either opcodes or tables of
opcodes.  The Menu class is an exception; we create Menu objects as
arguments to a Scene but have no way to turn them into opcodes.

With this patch a Scene will turn each Menu it finds in its arguments
into an appropriate ‘add-menu’ opcode to process as an instruction
later, although we do not yet implement the instruction side.
Add a ‘name’ property to Menu objects to help debugging

Being able to give names to menus will also help make scripts more
self-documenting, and could pave the way for referential menus in the
future—not even sure what I mean by that, but hey, who knows.
Support tostring() for Menu objects

Now that we can assign a name to menus it is only natural that we
support casting them into strings, if only to assist with debugging.
Store menus by their name in Scene objects

We add a ‘menus’ table to the Scene class that contains a list of all
of the Menu objects in that scene, accessible by their name, i.e. the
‘Menu.name’ property.  When we give other games access to a Scene to
handle a menu choice, for example, this provides a way for that game
to examine menus the player has previously encountered and use that to
influence what content it shows, what effects occur, et cetera.
Merge branch 'ejmr/menu-names' into ejmr/menu-coroutines

* ejmr/menu-names:
  Store menus by their name in Scene objects
  Support tostring() for Menu objects
  Add a ‘name’ property to Menu objects to help debugging
Correct the documentation about the ‘show-menu’ instruction

It mentions that developers should refer to the ‘settings.lua’ file in
order to configure the handler.  However, the name of the handler does
not belong to the Settings module, which is necessary if the
definition is actually in the ‘settings.lua’ file.  This patch renames
the handler to something within the Settings module.
Define and document an example menu handler in the settings

This provides a ‘Handlers’ section of the settings file and describes
the overall purpose and nature of handlers, what they mean in the
context of LNVL.  The patch also contains a really dumb implementation
of a menu handler for demonstration purposes.  And so that the engine
will not crash when we actually call that handler later.
Implement the ‘show-menu’ instruction

This makes use of the recent menu handler in the ‘show-menu’
instruction.  It causes no bugs or crashes with example scripts, but
that said we have no examples which really stress or test this logic
to find cracks.  So we cannot say that this is a production-ready
implementation of the instruction.  At best it satisfies the minimum
we require of engine instructions.
Add preliminary ‘Howto’ documentation about using and rendering menus
Merge branch 'ejmr/menu-coroutines'

* ejmr/menu-coroutines:
  Add preliminary ‘Howto’ documentation about using and rendering menus
  Implement the ‘show-menu’ instruction
  Define and document an example menu handler in the settings
  Correct the documentation about the ‘show-menu’ instruction
  Store menus by their name in Scene objects
  Support tostring() for Menu objects
  Add a ‘name’ property to Menu objects to help debugging
  Create ‘add-menu’ opcodes when we have Menu objects in Scenes
  Fix a minuscule grammatical error in the comments for ‘Menu.choices’
  Implement the basics for ‘add-menu’ and ‘show-menu’
  Document the ‘add-menu’ opcode and the ‘show-menu’ instruction