media-viewer: Implement animated back swipe
This is part of my GSoC project (!1112 (merged)), but since this task is quite self-contained, I've created a separate MR.
This MR requires !1137 (merged) merged first.
There are a few things to be decided, but overall this implementation should be pretty complete.