premake: corrected static GLFW import.¹

1: Default glfw3.pc doesn't directly import the static library.
doc/pages/hash: added stub.
utility: added enum-class bitwise operator~() definition.
input_buffer: new module; implemented input handling for GLFW.
test/gfx/display: replaced dead-sleep with input polling.
input_buffer::poll(): return event union instead of void*.¹

test/gfx/display: updated.

1: Much, much more pleasant to use than all that casting madness.
Shouldn't be UB :D
object_buffer: tidy.
impl/gfx/display/sdl: removed SDL_WINDOW_INPUT_GRABBED flag from init.¹

1: Turns out this flag corresponds to SDL_SetWindowGrab() state.
Don't want that on initialization.
test/gfx/display: added mouse lock hotkey.
input_buffer::poll(): added warning about thread safety; tidy.
input_buffer: added num_displays().
impl/gfx/display/sdl: added input processing, and note about SDL.
impl/gfx/display/glfw::set_mouse_lock(): added GLFW TODO.