Created by: cvrebert
This uses the Page Visibility API (when available) to stop cycling the carousel when the page is hidden (e.g. in an inactive tab, minimized window, etc.). This seems like better UX and also improves perf when the page is hidden (browser has less work to do). This also addresses #15298 (closed) by not sliding while the page is hidden in Chrome in the first place (thus preventing the problematic situation from occurring).