fix a segfault when a redscreen error is closed. fixes #2466.

Thanks to @pgimeno for reporting this, tracking it down and fixing it.
show a recoverable error message if game load fails from the main menu
Merge remote-tracking branch 'johnbartholomew/survive-invalid-savegames' into survive-invalid-savegame
use a MultiLineText for long error messages
Merge branch 'survive-invalid-savegame'
Set speed to the forward component when switching modes

When in Manual Mode, and pressing F5 to change to Set Speed Mode, the speed was set to the magnitude of the current one. With this patch, it's set to the projection of the speed onto the target vector (or onto the ship's forward vector if no target is set), which feels more intuitively correct.
data/ui/Languages.lua
data/ui/MainMenu.lua

Polish translation:
['Error']
['An error has occurred']
['Could not load game: ']
No longer need to declare our own asinh and atanh from VS2013 onwards.
Also stop copying and start referencing a vector3d instead!
get uitest compiling again
ui testcase with two dropdowns
restrict floats to one at a time
if there's a float then only consider widgets within the container
rework dropdown to catch context clicks and close the popup
first cut of layers - multiple overlaid UI stacks
handle the widget list changing while its being traversed
switch dropdown to use layers, and remove the old float methods
set a layer's layer to itself so that layer pointers bubble through the tree properly
remove widget floating flag and rewrite mouse over/out handling
make load error dialog a layer