#351 - rose edit latent ignored pages

This implements latent and ignored page statuses, together with show/hide options in the `View` menu. 

There is also a split-up of several large modules into more appropriate pieces, which was long overdue - this doesn't make the review any easier. I'm putting annotations where new code has been introduced.

This pull request addresses most of #351 - however I'd still like to improve the right-click page menu so that it's more page-specific. If this is approved, I'll raise an issue for implementing that - given the structural shake-up, I don't want to mix in too much new code.

@matthewrmshin, please review.