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 following the BDD readable approach to naming. So to read it like a sentence starting with "it", something more like: ``if('should handle merging defaults into object', ...``