mediawiki.page.gallery.slideshow: Avoid manual Deferred wrapping
* Use then(), which automatically forwards errors, instead of manually
forwarding fail() to d.reject(). This also ensures that any
errors in the done() or fail() handler themselves are caught and reject
the returned Deferred – instead of an causing the Deferred to indefinely
be in the "pending" state.
* Use then(), which makes the code consistently asynchronous,
instead of sometimes sync and sometimes async.
* Use then() for forward-compat with native ES6 Promise.
Change-Id: I58fb6ec23fb4056fe2bbb146ff4225dea9d9f379