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.
Yeah I actually caught that case in the window opener tests. But I'll add something explicit.