feat(childVisibility): System for registering nav visibility methods

This PR is against our `470-external-nav` branch

Closes #522 

This lets us register methods to be used for `visibility` and
`childVisibility` values in nav menus. Because we're now loading some
nav menus from JSON, we can't put arbitrary functions in anymore.

Now we can register new methods with `rxVisibility`, and reference them
in the nav as:

```
visibility: { 'someRegisteredName',  { foo: 'bar' } }
```