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
E.g. You want a dependency that encapsulates URL and site name, but doesn't need full entity baggage => use ElggSite::toObject(). This returns a stdClass, but if we wanted typing...