Merge pull request #1878 from Cloudef/incoming

Add GLEW 1.10.0 emulation
Add GLFW 3.0 emulation

Includes library_glfw3.js, providing most of the features in GLFW 3.0.

What it does:
- Creates a GL context.
- Manage keyboard and mouse events.
- GL Extensions support.

What it does not but should probably do:
- Transmit events when glfwPollEvents, glfwWaitEvents or glfwSwapBuffers
  is called. Events callbacks are called as soon as event are received.
- Joystick support.
- Input modes.
- Gamma ramps.
- Video modes.
- Monitors.
- Clipboard (not possible from javascript?)
- Multiple windows
- Error codes && messages through callback

Tests ran:
- tests/runner.py browser

Real world example using this code can be found here:
http://cloudef.eu/glhck
Fix unicode callback events
Fix typo in key constant comment
event.which || event.charcode doesn't belong here
Drop DOMMouseScroll, handle mouse events only on canvas
Use emscripten_get_now
Windows with bad dimensions are not valid in glfw
Browser dep is not needed
Saner WindowFromId, and more readable code