When user reaches the end of the Newsfeed, show Discovery posts

## Goal

<!---
Clearly outline the goal of the issue and why we are doing it
--->

- Increase content engagement rate
- Increase time on site

It's possible for a user (especially a new user with few channel subscriptions) to reach the end of their Newsfeed. Rather than leaving them with nothing more to scroll, we should inject the Discovery > Top feed into the end of the Newsfeed.

## What needs to be done

<!---
Clearly detail what needs to be done to achieve the goal set out above
--->

In the Newsfeed, either in the Top or Latest views, when the user reaches the end of the Newsfeed (nothing more to load), then load in posts from the Discovery > Top feed.

A `Discovery` header visually separates the feed. A 3-dot menu lets the user `Remove from feed` to hide the Discovery injection from the Newsfeed.

## QA

<!---
Consideration is given to how the issue will be demoed and tested prior to being deployed
--->

...

## UX/Design

<!---
Sufficient wireframes have been presented and understood by the development team. Full mockups are not required and re-usable components are encouraged.
--->

_Quick illustration_:

![image](/uploads/4a0e7930366b62602564524c59d96262/image.png)

## Personas

<!---
Who does this user impact and why
--->

- Everyone

## Experiments

<!---
Experiments are not required, but it should be made clear if one is expected. If experiments are required, the hypothesis should be outlined.
--->

This change should be deployed as an experiment.

Hypothesis: By adding Discovery to the end of a Newsfeed, we can ensure that the user never runs out of content to scroll through, giving the user opportunity to engage more.

Measure:
- [ ] Upvotes
- [ ] Downvotes (counter metric)
- [ ] Reminds
- [ ] Comments
- [ ] Channel subscriptions
- [ ] How many users choose to remove it from the feed

## Acceptance

- [ ] Ensure we use the Explore/Discovery endpoint
- [ ] Lazy load to save angular bundle size
- [ ] Setup the experiment
- [ ] Given a user is on the Newsfeed, when the user scrolls to the end of the Newsfeed (no more posts to), then start loading posts from Discovery > Top feed
- [ ] Visually separate the user's subscribed Newsfeed and the newly-injected Discovery posts with a `Discovery` header.
- [ ] The `feed-end` event only fires if the user reaches the end of the Discovery > Top posts that were added to the Newsfeed.
- [ ] The user can dismiss the component from the ... menu
- [ ] Given the user previously dismissed the component, if the user logs out and logs back in, the component is restored

<!---
Please read this!

The Definition of Ready (DoR) can be found at https://developers.minds.com/docs/handbook/how-we-work/#definition-of-ready-dor

Before opening a new issue, make sure to search for keywords in the issues
filtered by the "Type::Feature" label and verify the feature you're about to submit isn't a duplicate.
--->

## Definition of Ready Checklist

- [x] Definition Of Done (DoD)
- [x] Acceptance criteria
- [ ] Weighted
- [ ] QA
- [x] UX/Design
- [x] Personas
- [x] Experiments

Story points: 5.0