Open a payment popup window (bug 1110228)

@muffinresearch r?

It's mostly working but I still need to clean up an async problem in the test -- a failure that only happens when the whole suite runs. I think I need to understand the execution flow of mocha async tests better.

But, yeah, payment window opens on Chrome! the "paymentSuccess() function doesn't exist" error in the screencast will be fixed when your shim patch is done.

![desktop-payment mov](https://cloud.githubusercontent.com/assets/55398/5404688/28150f06-815f-11e4-97e1-aae565cd2ff6.gif)

nit, lets avoid `whitelist`, `approved list` work ok?