* `light.configure_shadow` has been added. It can either use a camera frustum or
calculate the bounds for a static shadow that doesn't need to be updated every
frame.
* `Light` and `newLight` have `use_shadow`, however it's not used automatically
at the moment. Instead you should call `configure_shadow`.
* Added `updateShadowStorage` which at the moment has to be called manually
after using `configure_shadow`.
* All shadows now share a single texture array per scene, so they can be
accessed by index in the shader and take less shader locations and draw calls.
* Shadow map resolution is also global per scene.
* Add `set_texture_shadow` and `unset_texture_shadow` to configure a texture as
shadow sampler.
* Bias has been removed as an option, it's calculated automatically instead.
* Bias now moves along the normal of the mesh instead of towards the light,
allowing very small biases.
* Procs `loadFileFromPointersLen`, `getDimensionsFormat` and related graphics
API-agnostic functions have been moved into their own module `texture_decode`.
* New directory `gpu_formats` added, where we will put all modules related to
decoding, optimizing and caching meshes and textures (independently of the
graphics API being used) in a separate thread or threads.
* Add `myouSetKeyboardVisible(bool)` and export it.
* Add `screen.char_callbacks` to receive platform character events.
* Remove duplicate code for mouse emulation with touch (commited by mistake).
* OpenGL ES wasn't compiling because there's no `GL_R16`, `GL_RG16`, `GL_RGB16`,
`GL_RGBA16`. Replaced by their `_EXT` versions, but it wasn't compiling
because they're defined as `var` instead of `const` and they were being used
in a `func`.
* The GL API files were changed to fix that.
* After loading the scene, mobile platforms were throwing an error because the
renderer was not initialized yet. That's been fixed.
* Remove unsed `gl-basic.nim`.
* Incomplete port of myou-engine-js to nimskull, after many months of work, and
a few extra features that weren't exactly necessary for a "first commit" to
work. Excuse the lack of commit history up to this point.
* Bare bones structure of the documentation and the process to update it.
* Restructure of the whole project to have a more sensible organization.
* Making submodules of forks of larger libraries.
* README, licenses, AUTHORS.md.