We have no hope of extending lua_State to add more data to it, because
that object may be created by Lua itself, for instance within a coroutine,
and it has no knowledge of our version of the object.
This has proved unreliable because coroutines create whole new environments,
so one of the only ways to store user data and access it even from coroutines
is to use lua_setglobal().
This doesn’t work properly yet because PICO-8 uses a few language
extensions; we will have to decide whether to modify the Lua
interpreter, or change the code on the fly, or something entirely
different.
Using “Array” instead of “array” is now fully deprecated, and I replaced
the Log::Debug() etc. functions with msg::debug() etc. because log:: was
unavailable due to being a maths function.
Added up-to-date copyright notice and BOM to modified files, just in case.
The containers no longer force the user to use the ptrdiff_t type for
size information. For convenience, size() now always returns an int,
and the size_s() method offers a way to handle arrays with more than
2 billion elements. Internally, we still use ptrdiff_t, though.
Since so much code had to be changed, I took the opportunity to get
rid of capitalised accessors for classes that are lowercase.
Lua only supports the "double" type for now, so storing a 64-bit integer
would lose information unless it's encapsulated in a more complex type.
I prefer to disable these accessors for now.