Fix ninja scroll freakout

### [Jira Link](https://jira.webfilings.com/browse/HY-1257)

# Problem
Many rapid sequential swipes will eventually cause peek mode to go haywire and display no pages and prevent all interaction from working.  The problem is especially apparent on slower devices, like an iPad 3.

# Solution
Add guards to prevent the requested index from getting outside the rendered pages.

# How to QA/+10   
1. git pull && git checkout -t fix_ninja_scroll_freakout && ./init.sh && grunt qa
1. Link in UI components to RV
1. Load a long document in peek mode, on a mobile device.  (You won't be able to go fast enough with a mouse/trackpad)
1. Swipe many times in the same direction in a row.  You should not be able to get RV to a state where no pages are displaying.



CR: @timmccall-wf @lancefisher-wf @robbecker-wf @patkujawa-wf @georgelesica-wf @todbachman-wf