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
Indeed. I definitely agree with you there. Suppose I hinted on an interface that only exposed read access to the name and url properties. How would you feel about that?

```php
<?php
namespace Elgg\Entities;

interface Site {
  /** @return string */
  public function getDisplayName();

  /** @return string */
  public function getUrl();
}
```

How would you feel about that vs injecting the displayName and url directly?