Add silent mode to urlState

It is sometimes convenient to be able to set properties on urlState and
listen to stateChangeStream to redraw the UI.

Previously, this was not possible, because stateChangeStream would only
emit values upon page initialization or when a browser action triggers a
history change (Back/Forward).

This change will make it so that stateChangeStream will *always* emit
a value when properties are set on urlState, unless the silent flag is
set to true.