Simplify the definition of Character.__call()

The conditional is apparently not necessary and its absence causes no
example scripts to break or behave unexpectedly.
Introduce the function LNVL.Initialize()

Any game using LNVL only needs to require the ‘LNVL.lua’ file.  That
file loads all of the LNVL sub-modules.  However, it makes an
assumption about the paths to those sub-modules in every require()
call it uses.  Depending on where the LNVL source is in a game those
paths may be invalid.  We need a way to optionally provide a prefix to
every path we require() to give games the freedom to place the LNVL
source code wherever is most convenient.

The new LNVL.Initialize() function accepts an optional prefix to add
to all paths that we require() for LNVL sub-modules.  This change
means that using LNVL is now a two step process.  For example:

    local LNVL = require "LNVL"
    LNVL.Initialize("path.to.LNVL")

The commentary at the beginning of the main ‘LNVL.lua’ documents this
new requirement.
Update the main example code to call LNVL.Initialize()

This also serves as an example of how we do not always need to give
the function an argument.  This works because the LNVL sub-modules we
require already have the correct paths without any prefix, that is,
when we treat LNVL as an independent program and not a component of a
larger game.
Document LNVL.Initialize() in the README
Use the correct path prefix when opening the ‘src/rgb.txt’ file

This addresses the problem described by commit 673ce9d3 (‘Introduce
the LNVL.Initialize() function’).
Merge branch 'initialize-with-path-prefix'

* initialize-with-path-prefix:
  Use the correct path prefix when opening the ‘src/rgb.txt’ file
  Document LNVL.Initialize() in the README
  Update the main example code to call LNVL.Initialize()
  Introduce the function LNVL.Initialize()