Introducing Cordova/PhoneGap support

When satellizer is used inside Cordova/PhoneGap there's the issue that the app
isn't actually running from any web server, but rather just from file:// url,
lucky to us Cordova/PhoneGap built-in web browser provides with an events
listener on popup windows, which we can capture to get the expected behavior.

The solution is based on the code that hello.js uses, but it has been
refactored, for example it reuses the logic provided by satellizer for error
handling, and promises all over the place.