allow navItems to be customized

@zachmullen this might be better, for #552 .
@zachmullen  If `settings` is `null` or `undefined`, that would throw an exception.