Dynamically define the values for LNVL.Position

This will make it possible to add more positions in the future and to
improve debugging by having a list of valid position values.
Define LNVL.Position values for nine parts on the screen

This will add more Position values to use.  They will represent these
locations on the screen:

    +----------------------------------------------------------+
    | TopLeft               TopCenter                 TopRight |
    |                                                          |
    |                                                          |
    |                                                          |
    |                                                          |
    | Left                   Center                      Right |
    |                                                          |
    |                                                          |
    |                                                          |
    |                                                          |
    | BottomLeft          BottomCenter             BottomRight |
    +----------------------------------------------------------+

This way the existing positions maintain their current semantics,
while implementations for the rest will come later.
Add the diagram of positions from the previous commit message

This will be useful to have in code comments.
Show the ‘position’ of a Drawable when converting it to a string

This will improve debugging output by showing us the relative position
assigned to the Drawable as well as its absolute position.
Document the new position values in the Howto
Teach Drawable:setPosition() to deal with all possible positions
Fix a crash when scenes have transparent dialog boxes

If we set the ‘boxBackgroundColor’ of a scene to the
LNVL.Color.Transparent value then the engine will crash.  That value,
unlike the rest of the colors, is not a valid argument to the
primitive setColor() function we use before drawing the box.  We need
to test for that value before calling setColor() and then just stop
drawing if we’re asked to draw a transparent box.  We actually do not
do anything with alpha channel values; to get full transparency we
simply do not draw the dialog box at all.
Add a script for testing out all of the position values

This script does not work as expected.  All of the images appear in
the bottom right, indicating a problem either in the way we handle
isAt() at the opcode level, or maybe a failure in how we assign
position values now.
Make the example array more clear in the ClampedArray module comment
Fix typos in the comments for the LNVL.Opcode.Processor table
Alter the comments for the ‘set-scene-image’ opcode for clarity

The current reading can come across as if we are saying the
‘set-image’ instruction assign the temporary, empty ‘target’ table.
But it is actually the ‘set-scene-image’ opcode processor which makes
this assignment.  So the source-code comments need to clarify that.
Correct the documentation regarding position values in the settings

We need to remove the statement that there are only three acceptable
position values since this is no longer true.
Add comments explaining each step of the module loading process

By documenting why we load modules in the order we do we can help
avoid bugs when adding modules in the future.
Document the ‘position’ argument for the ‘draw-image’ instruction

We will implement this argument as a way to get around the issue with
Drawables not appearing in the correct position.  This will also make
it possible to pass LNVL.Position constants directly to the
‘draw-image’ instruction in a meaningful way, giving us the potential
to make it smarter at determining where to actually draw things.

Because ‘draw-image’ now accepts two arguments related to coordinates
on screen we modify the documentation to describe the relationship
between ‘location’ and ‘position’, and how ‘location’ takes precedence
in all situations.
Set the position for Drawables inside the ‘draw-image’ instruction

This fixes the bug in example script ‘11’ where the Drawable only
appears in the final position.  Originally we set the position for the
Drawable inside of the ‘draw-character’ opcode.  However, the
setPosition() method destructively modifies the coordinates where we
will eventually render the Drawable on screen.  Because we did this in
the opcode we always rendered the Drawable in the last position it has
in a scene, since we process all opcodes before rendering any content;
the position changed many times before we ever showed the image.

We fix this by taking advantage of the new ‘position’ argument to the
‘draw-image’ instruction.  By passing along that information from the
opcode to the instruction we can delay the call to setPosition() until
we are ready to actually render the Drawable.
Fix two table accesses in Drawable:setPosition()

As we build the lookup-table to convert positions into XY-coordinates
we try to reuse earlier values in that table.  There are two places
where we want to reuse the X-coordinate for the ‘Center’ position but
we fail to actually access that element, instead copying the table of
both coordinates.  This later causes a crash when we call
love.graphics.draw() because we give it that table instead of the
intended integer coordinate.
Merge branch 'additional-positions'

* additional-positions:
  Fix two table accesses in Drawable:setPosition()
  Set the position for Drawables inside the ‘draw-image’ instruction
  Document the ‘position’ argument for the ‘draw-image’ instruction
  Add comments explaining each step of the module loading process
  Correct the documentation regarding position values in the settings
  Alter the comments for the ‘set-scene-image’ opcode for clarity
  Fix typos in the comments for the LNVL.Opcode.Processor table
  Make the example array more clear in the ClampedArray module comment
  Add a script for testing out all of the position values
  Fix a crash when scenes have transparent dialog boxes
  Teach Drawable:setPosition() to deal with all possible positions
  Document the new position values in the Howto
  Show the ‘position’ of a Drawable when converting it to a string
  Add the diagram of positions from the previous commit message
  Define LNVL.Position values for nine parts on the screen
  Dynamically define the values for LNVL.Position