Rename Color.fromHex() to Color.FromHex()

This is for consistency with other functions and properties intended
for global use and access.
Capitalize all functions in the Debug module

This is continuing the change towards captilazing all functions
intended for global use.
Use local tables for the definition of all modules

In each source file for a module we take the approach of creating a
table to hold that module’s logic, define properties and functions,
and then return that table at the end of the file.  The idea is that
other parts of the engine will use lines such as

    LNVL.Scene = require("src.scene")

to load a module, which is why we use the ‘return’ statement at the
end of those files.

However, when we create the table for each module we are assigning a
new value to the global ‘LNVL’ table.  We write code such as

    LNVL.Scene = {}
    -- Module definition here...
    return LNVL.Scene

instead of

    local Scene = {}
    -- Module definition here...
    return Scene

The second approach has the benefit of providing tighter control over
the scope of modules, and it decouples the definition from the
assignments in the ‘LNVL.lua’ file which populate the engine’s public
API.  The approach also has the benefit of letting us write shorter
code within modules since we can drop the ‘LNVL’ prefix.

This patch changes all modules to use the second approach.  However,
source-code comments continue to refer to modules using the longer
name (e.g. ‘LNVL.Scene’) since even with this patch we must still use
that longer name outside of modules.  This patch provides no visible
logic change.
Remove the use of ‘says’ from the ‘03’ example script

We do not require script authors to explicitly write the ‘says’ method
so we should stress that in all of the examples.