Avoid PageUpdate from receiving out-of-range page

Otherwise, current_page can acquire negative values, or values greater
than the page count, when the user tries to go back the first page
or past the last page.
Restore north and south swipe gestures

Might be useful in pages covered with links, which make it difficult
to tap in the correct point for flipping the page.
Merge pull request #462 from thotypous/master

Fix out-of-range page and tweak swipe