Mod profiling support

Config settings:
profiling = true/false (gather statistics)
detailed_profiling = true/false (break mod times to callbacks)

Chat commands:
save_mod_profile saves current statistics in debug.txt and shows on console (on default loglevel)
Fix caption of config mods button (simple menu)
Don't call a player event without having player to do a event for
Pass light sources in blue channel of vertex color instead of decoded light for all special drawtypes.
Plus some style fixes and optimizations.
Remove buildable_to nodes without dropping item when replaced by a falling node
Fix wrong Icon name in minetest.desktop
Correct spelling mistakes in documentation
Improve timeout calculation

gf
Fix "ghost" blocks if block update is "on wire" while player digs nodes
Add player name length checks
Fix to to too two times
ban.cpp refactoring
Reduce time of red screen when damaged

10 seconds in PvP is very long and annoying.
Add ^[mask texture modifier
Use pause_fps_max also on multiplayer
Fix chat messages capturing mouse interactions for menu/formspecs
Minimal game: add /dummyball <count> command
Add video driver selection to settings menu (based uppon idea from webdesigner97)
Fix seg fault if popping from empty stack (L-system trees)

See: https://github.com/minetest/minetest/issues/1525

Background
Wuzzy2: If you attempt to spawn a L-system tree with minetest.spawn_tree, you can make Minetest crash if it is attempted to pop an empty stack.

ShadowNinja: This shouldn't cause a segmentation fault, but it should throw a Lua error

Commit Description
This commit throws a Lua error instead of causing a segmentation fault. The server will still "crash" but will include a Lua backtrace.

L-Systems fix randomness
Unless a random seed is provided (via Lua treedef) seed the PRNG with a different seed for each tree
Resolves: https://github.com/minetest/minetest/issues/1469

Fix l-system crash when treedef random_level not set by Lua
Fix LuaJIT exception wrapper