Abstract mobile transition interactions

Closes #4032, ref #3950's "epic goal"
- Created "mobile" views: `parent-view`, `content-view` and `index-view`
- `mobile/parent-view` has three callbacks for managing layout, and a mediaQuery listener to keep in sync with the user
- content-view and index-view use their parent-views callbacks to bring themselves into and out of the viewport as appropriate
- fixed media queries for post content list from 800px to 900px
- Created `mobile-index-route` to intelligently transition to a new route on desktops (used by both PostsIndexRoute and SettingsIndexRoute)
- Extract mobile interactions from settings views to new mobile utility views

- removed unused openEditor action from PostsRoute
- removed unused mobile util "responsiveAction"
I wonder if we could move all those css stuff up into MobileParentView (would require using the same `js-*` classes obviously)