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
This currently uses only site name and URL. Why not inject those? I generally avoid depending on an entity unless it's really necessary. Not a big deal though.