Upgrade to use GLFW 3 (GLFW-b >= 1.2), handle Q key to quit demo

This upgrades `blank-slate` to use the newest version of `GLFW-b` which uses the newest version of `glfw`.  Originally my motivation for doing this was to be able to pass OpenGL context hints to the GLFW window creation routine to request an OpenGL 3.2 context (which works in GLFW 3 C programs on my Mac).  I haven't yet made that change in `blank-slate`, but this at least makes the few API changes required to get the demo program to work again.  In particular, window events *must* be polled by `GLFW.pollEvents` or OS X will consider the app dead (and this might be true on other systems, too).  Also, somewhat annoyingly there is now a `GLFW.Window` parameter to most `GLFW` functions so that has to be passed around.  I haven't made any attempt to do that nicely here in any sort of monad, partly because the feature is for multi-window apps and it might be nice to expose that feature without any monad wrapping.