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.
I've been doing pep8 spaces between ``/`` but I guess there's no actual jshint rule for that. It seems a little easier to read to me.