Monitors the network state. A NetworkMonitor is used to retry requests when network is available.
Emits the current network state. May emit null during initialization when the current state is not known yet.