devel_glfw3.1: Return errors

The first commit causes every GLFW function to return an error. The second commit streamlines the error handling process by making use of the new `fetchError` function in place of `<-lastError`.
Thanks for the detailed review. I haven't run into that for a while =)

Please take another look.