В PageManager реализованы методы для удержания и отпускания страничек

1. Немного изменились названия и аргументы методов PageManager
2. То же самое для PageList
3. Пережита мозголомка с тем, как поддерживать одинаковые данные страниц внутри PageManager и вне его
Результат: теперь можно создавать несколько инстансов одной страницы --- главное, чтобы ссылки на объект PageData были одинаковыми
4. Стараюсь в тестах тестить утечку страниц
Для верности сделал cache.size() >= MAX_PAGES_IN_CACHE нестрогим и добавил тестов