restore SDL1-support in sdl_events.cpp

* add define for SDL_SCANCODE_GRAVE - seems like only SDL2
  has names for the values
* add some missing keys to SDL_KeyToDoom3Key
* add scancode to unmapped-key warning
* backspace needs to be handled the same for SDL1 as in SDL2
  (i.e. a new event must be created for it) to work in console
Fix scrolling in Menus for SDL2

scrolling didn't stop, e.g. in the resolution selection menu
Disabled usage of pthread_{get,set}_name because it does not work on all Linux systems.
Added support for precompiled headers for MSVC which reduced the compiled time from 4 minutes to 67 seconds.
Fixed Linux build.
Fixed various warnings from clang
Prevent segfault on shutdown

This should also happen on Windows, I'm really surprised
this hasn't been noticed there
Improve CMakeLists.txt

* manage warning flags in a variable, they're reused for
  each profile anyway (but this way profile-specific flags can
  still be added before or after the generic ones)
* added some disable-warning flags specifically for clang
Fix messed up view angle after taking screenshots

Pretty much like https://github.com/dhewm/dhewm3/issues/18
but here it took some more changes
Fixed MSVC C++ exception warnings
Small fix in Mem_Alloc16(): int->size_t
Fix Sys_ListFiles() on POSIX as needed for savegames

In Sys_ListFiles() the extension was abused to match whole
filenames (of savegames), not just their extensions - that
didn't work with the POSIX backend, now it does.

Sys_ListFiles() now also supports "*" as a wildcard that matches
all files - needed for deleting savegames.
However, things like "bl*" or "*ub" don't work.

While at it, I replaced readdir() with the thread-safe readdir_r()
Set timestamp for savegames on POSIX

So they can be sorted correctly etc
Workaround for erebus1 crash in debug mode on Linux
also do Sys_Sleep for less then 20ms

Sys_Sleep(10) is used quite often throughout the code.
Update zlib to version 1.2.7
Update unzip code to minizip 1.1

.. from zlib-1.2.7/contrib/minizip/
The original source was minizip 0.15beta from 1998.

This update brings zip64 support (untested) and cleaner code.

Furthermore, updates to future minizip should be much easier now, as
my changes to the original source files from minizip are quite small.

To make diffing to upstream minizip-src easier, I added the minizip
source as exceptions in the astyle-scripts and left them in their own
directory.

Two custom functions from idSoftware - unzSetCurrentFileInfoPosition()
and unzGetCurrentFileInfoPosition() - aren't needed anymore as
minizip 1.1 has functions that do the same.
Update zip code to minizip 1.1

.. from zlib-1.2.7/contrib/minizip/
It resides next to the unzip code in framework/minizip/

This updates makes the code a bit cleaner and creating zip64
with the idZipBuilder is now more feasible and update to future
minizip versions should be easier as I didn't change the original
files from minizip 1.1 very much.
Merge remote-tracking branch 'DanielGibson/update-zip'
Moved minizip contrib code to libs/zlib/minizip/