feature(webapp): Add support for a basic WebApp Manifest file

Fixes #7493


TODO:
 - [x] Choose a component. i.e. `feature(???)`
 - [x] Actually register the `init()` callback with Elgg
 - [x] Remove the `@flow` annotation
i.e. are there any pros and cons between injecting a limited interface that's used for fetching primitives vs injecting the primitives themselves.