Add support for dpi based HUD scaling
Add support for (configurable) multiline hotbar
Improved screensize handling
Add userdefined gui scale by BlockMen
Only push the Lua error handler once
Remove dependency on marshal and many other async changes

This makes a number of changes:
  * Remove the dependency on marshal by using string.dump and loadstring.
  * Use lua_tolstring rather than having Lua functions pass string lengths to C++.
  * Move lua_api/l_async_events.* to cpp_api/s_async.*, where it belongs.
  * Make AsyncWorkerThread a child of ScriptApiBase, this removes some duplicate functionality.
  * Don't wait for async threads to shut down.  (Is this safe?  Might result in corruption if the thread is writing to a file.)
  * Pop more unused items from the stack
  * Code style fixes
  * Other misc changes
Fix code style of async API
Add support for function serialization to minetest.serialize
Fix rounding issue of hud dpi on some machines
Make debug text adjust it's border to the screensize and fix a border update bug
Add download rate to media progress bar (non http mode only!)
Minor coding style fixes
Add proper lua api deprecated handling
Fix usage of deprecated functions in builtin
Add hack to avoid 2s startup delay on local games
Fix player:set_animation() in third person view
Fix numeric underflow on calculating window size adjustment
Bugfix: make waypoints respect camera offset
Move message about missing normal maps to infostream instead of errorstream.
Fix heart + bubble bar size on different texture packs
Add DPI support for statbar
Move heart+bubble bar to Lua HUD
Add statbar size (based upon an idea by blue42u)
Add support for customizing breath and statbar
Add a limit to node meta data resolving recursion
Add write_json() to the async API
Organize builtin into subdirectories
Use "core" namespace internally