switch to build all third party code as dynamic libraries

All third party libs are built as dynamic libraries.

Lua code is built as dynamic libraries (native code Lua modules).

This should ease the path to migrate some of them (eventually even all) to use
LuaJIT's FFI.

The core interpreter/JIT is now the "plain" luajit executable.  The
"koreader-base" binary is replaced (for backward compatibility) by a Lua
script.

Overall code footprint is slightly increased by this as non-used code is left
in the dynamic libraries. This should not increase RAM usage too much since the
dynamic libraries will be memory-mapped anyway.

Another intent is to more clearly separate the miscellaneous libraries which
are subject to different code licenses.

The Makefile is cleaned up and homogenized.

Output directories are created for each compile target machine.

The "clean" target now cleans up the full build environment.

Not yet included are Kobo toolchain adaptions (compiler settings) and automatic
-jN flags and ccache usage.
remove unused header reference
adapt .gitignore to new build directory

also remove koreader-base from ignored files since this is now a Lua script
koreader-base is now a Lua script for plain "luajit"
added forgotten reference to tesseract & leptonica
fixed typo
introduce Kobo compilation settings/config
Add ccache handling
add -jN automatic behaviour dependent on number of CPUs
oversight: copy flags for libraries
reference k2pdfopt and dependent libraries for koptcontext

this causes my linker (GNU ld 2.32.2) to segfault?!? Will need to investigate
fix segfault: was a typo leading to unintended call
add DT_SONAME when linking mupdf dynamic library

this is needed for the linker to reference the library properly
removed unneeded luajit dynamic library

the executable is sufficient
run script using dofile(), as loadfile() does not actually run it
added forgotten luagettext module to build
Merge remote-tracking branch 'upstream/master' into dynlib
re-introduce fixed-point math flag
replace output dir naming by a simpler mechanism

we don't want to rely on the presence of a GCC here
revert Makefile change regarding output directory

don't rely on CHOST - it will be set to a wrong value when building w/ emulation. It is not set to the correct value then.