||A message port sits on each side of the process boundary for every remote
page. Each has a port ID that is unique to the message manager it talks
We roughly implement the same contract as nsIMessageSender and
||Using the RemotePageManager:
* Create a new page listener by calling 'new RemotePages(URI)' which
then injects functions like RPMGetBoolPref() into the registered page.
One can then use those exported functions to communicate between
child and parent.
* When adding a new consumer of RPM that relies on other functionality
then simple message passing provided by the RPM, then one has to
whitelist permissions for the new URI within the RPMAccessManager