Thank you, Travis CI, for reminding me that one cannot disable a header
with inclusion guards if it doesn't exist.
(cherry picked from commit 537ea4ccf1deb7b5e00c3745ab51e82a8c0696dc)
This removes all dependencies from the GLFW test programs on the Vulkan
SDK.
It also removes support for linking the GLFW shared library (dynamic
library, DLL) against the Vulkan loader static library.
Replaced the GLFW_SHOULD_CLOSE window parameter with the
glfwWindowShouldClose and glfwSetWindowShouldClose functions, allowing
the setting of the close flag from any point in the program.
The cached error code cannot be made per-thread unless it required
glfwInit (due to lack of __thread on OS X), which would be confusing and
partially defeats the purpose of it.
Beginners would use the generic error string facility instead of the
error callback and then be confused by its nondescript messages.
Storing the provided error code from within the error callback, whether
globally or per-thread, requires just a few lines of code and hands
control to the user without compromising thread safety.