Native ES6 promises for GWT along with an emulation for browser that don't support native promises