Fix Page::getByID Caching for alt Class

If a different `$class` is passed into `Page::getByID()` a `Page` object
or possibly a different object could be returned.

- Seperate the page cache based on class