Initial Linux support

So tried not to make too many changes, basically just added glx pixmap context support for linux. 
New dependency (for linux) is glew.

I changed the exported gl object to not auto create a context. So one has to call `gl.createContext()` and on Linux one must specify the size of the context with `gl.createContext(width, height)` (this doesn't affect the Apple side. 

There's a note about using a framebuffer in the example. On Linux, as far as I can tell you can't create a gl framebuffer without an active display, but if you start the node process with xvfb you can use xvfb as your display and framebuffer.

Nothing spectacular but should help.