Add util for opening centered window (bug 1101002)

This adds:

* A util for merging defaults similar to _.defaults (albeit only takes one defaults obj.  
* The basic centered window opening code
* Plus tests for all of the above.
Huh. These additions all look good but I wonder why I never saw errors for these myself. Did you change anything in the jshint setup?