Fix window callbacks to be per-context.

Per-window (or context) callbacks were using globally defined function
vars, which caused unexpected behavior given the API and documentation.
This changes the callbacks to behave as expected by giving each window
callback vars, and using a global map[*C.GLFWwindow]*Window.

Fixes #53.