When the MQTT disconnect handler is called, it would crash the
microcontroller because it was attempting to call `close` on a nil value
`client`. This was supposed to have been `mqtt_client`.
Immediately calling the WiFi timer callback is also a problem, as it
effectively puts the microcontroller into a busy loop if the WiFi is
already connected but the MQTT broker is unavailable. Adding a 1 second
delay here should prevent crashing in this case.