update to node-gyp 0.12.1

This is an important refresh to me because it brings in support for Visual Studio 2013 which fixes a number of Windows end user bug reports.

ran node test\run.js, failed, unsure if this is a new failure:

```
+npm test npm-test-array-bin
 1> > npm-test-array-bin@1.2.5 test C:\Users\jbeavers\AppData\Local\Temp\npm-test-3416\root\node_modules\npm-test-array-
bin
 1> > node test.js
 2> C:\Users\jbeavers\AppData\Local\Temp\npm-test-3416\root\node_modules\npm-test-array-bin\test.js:3
 2>   if (err && err.code) throw new Error('exited badly with code = ' + err.code)
 2>                              ^
 2> Error: exited badly with code = 1
 2>     at C:\Users\jbeavers\AppData\Local\Temp\npm-test-3416\root\node_modules\npm-test-array-bin\test.js:3:30
 2>     at ChildProcess.exithandler (child_process.js:641:7)
 2>     at ChildProcess.EventEmitter.emit (events.js:98:17)
 2>     at maybeClose (child_process.js:735:16)
 2>     at Socket.<anonymous> (child_process.js:948:11)
 2>     at Socket.EventEmitter.emit (events.js:95:17)
 2>     at Pipe.close (net.js:466:12)
 2> npm ERR! Test failed.  See above for more details.
 2>
not ok 22 npm test npm-test-array-bin
1..22

C:\Users\jbeavers\Documents\npm\test\run.js:226
  if (er) throw er
                ^
Error: failed npm test npm-test-array-bin
    at C:\Users\jbeavers\Documents\npm\test\run.js:99:10
    at ChildProcess.exithandler (child_process.js:641:7)
    at ChildProcess.EventEmitter.emit (events.js:98:17)
    at maybeClose (child_process.js:735:16)
    at Process.ChildProcess._handle.onexit (child_process.js:802:5)
```