Adding an alter hook for page context

Because alter all the things.

This allows developers to change the page context before it's rendered. Use case for me was to load in the image URL of a referenced commerce product for Content Recommendations.