Upgrade from SDL to SDL2.
Fix SDL2 headers.
Keyboard input overhaul to support SDL2. Console and menu overhaul to use standard C++ containers.
Use the correct set container.
Fix passing of string object to printf function.
Fix GCC warning (signed/unsigned mismatch).
CMake update for SDL2.
Do not link with cocoa framework on apple.
Minor style fixes.