Add `lua-run` macro.

Add a `lua-run filepath` macro, a convenience wrapper around `[lua]` for
running a Lua script, without preprocessing it as WML first.
Add `lua-include` macro.

Add a `lua-include filepath` macro, a convenience wrapper around `[lua]`
for running a Lua script, and letting it be preprocessed as WML first.
Split Lua-side lp8 loading from `lua/main.lua`.

Split NX/Lua-side lp8 loading structure out from `lua/main.lua` to a new
`lua/lp8/main.lua` file, which is run from `lua/_main.cfg`.
Split global variable init from `lua/main.lua`.

Split global variable initialization out from `lua/main.lua` to a new
`lua/env.lua` file, which is run from `lua/_main.cfg`.
Split Lua config setup from `lua/_main.cfg`.

Split Lua configuration setup out from `lua/_main.cfg` to a new
`lua/config` file, which is preprocessed as WML and then run (as Lua)
from `lua/_main.cfg`.
Avoid Lua table ctors in to-be-preprocessed text.

I had used both Lua table constructors and WML preprocessor directives
in the same double-quoted (i.e., preprocessable) string value of the
`code` attribute of a `[lua]` tag in `lua/_main.cfg` (this string was
later (in this commit’s parent commit) split out into its own file, and
included via the WML preprocessor).

This resulted in the WML preprocessor erroring out on the table
constructors due to thinking that they were bogus macro/file inclusions.

This commit resolves the issue by replacing the unescaped empty table
constructors with calls to the lp8 `table/new` function
(`lp8.new_table`), which returns a new empty table.

In the previous version of this fix, these calls to `lp8.new_table`
occurred before the main lp8 module loading structure (then in
`lua/main.lua`, now in `lua/lp8/main.lua`) ran, so that version of this
fix required explicitly loading the lp8 `table` module first, which I
did (in that version) at the beginning of the WML-embedded Lua script
snippet.

For the previous version of this fix, see this branch:
8573/fix/lua-maincfg-tablectors-and-macroinclusions-in-same-string/1/fix-by-lp8/1

That branch points to this commit:
eb69ae01a5d98d7428b0acb929da0863697d6bdb

There was also a different fix that used macros instead, in this branch:
8573/fix/lua-maincfg-tablectors-and-macroinclusions-in-same-string/1/fix-by-macro/1

That branch points to this commit:
c5c5e9c7cd2eb9121090a89c8e4df41cf8e6c803

This version of this fix, however, does not require explicitly loading
the lp8 `table` module first, because, due to my recent refactoring, the
calls to `lp8.new_table` now come after the main lp8 module loading
structure (which is now in `lua/lp8/main.lua`).

For my recent refactoring, see my previous three commits, listed here in
chronological order:
24b1326f729860a086a6ef2a8d837547b4116d4a
301b10cd6c9b99a95a2e4d3883863b563e6f265f
7c1cd7061d74cda3de98a4186ef404d93083bf17

I am inclined to believe that this may be one of the longest Git commit
messages that I have ever written.
Abandon my Lua-config-preprocessed-as-WML scheme.

Abandon my scheme [7c1cd7061d74cda3de98a4186ef404d93083bf17] for having
`lua/config` be preprocessed as WML without cluttering the file with a
`[lua]` wrapper, because it apparently doesn’t work, resulting in Lua
syntax errors when Lua encounters the ‘#’ characters that mark WML
preprocessor directives.