replace d3.last, add .gitignore, initial IWidget interface

Leslie,
I replace the call of d3.last with array.reduce because d3.last has been removed.

https://github.com/mbostock/d3/wiki/Upgrading-to-3.0#arrays
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/Reduce

I've also removed the DS_Store file and added a .gitignore w/ some default entries I found while googling.

Also this merge contains the initial IWidget definition I has started on yesterday.

As always, remember to push before merging, and if you push makes this merge red, let me know and I'll fix it so it's green :-)