Honor zigbee2mqtt device availability
**Problem:**
Some Zigbee devices are at risk of losing power at the mains, and not by telling the device to turn on or off.  Think of a bulb in a light fixture controlled by a wall switch.

If I turn that wall switch off, there's no outward indication that the Zigbee device is having an issue, it just never responds to commands.

Since most MQTT commands are one-way, I can send all the commands to the device I want through Homekit (and thus through Homebridge -> homebridge-z2m), and the status in Homekit will happily change to whatever I tell it... however, nothing happens at the device, of course, because there's no two way communication from the Zigbee device.


**Suggested solution:**
There's a feature in zigbee2mqtt called "availability" (https://www.zigbee2mqtt.io/information/availability.html).  When enabled, it will "ping" a Zigbee device to determine if it's responding to commands or not.  If the device doesn't respond, it can mark the device properly as "offline" in Homekit until one of those pings succeeds (or a command is sent again).


**Describe alternatives you've considered**
Not really sure this applies -- I think it's a limitation of homebridge-z2m currently not looking for it.  I'll admit I'm not an expert in MQTT plumbing, but I suspect this to be the case.

From zigbee2mqtt logs:

`debug 2021-01-07 18:00:55: Received Zigbee message from 'Sengled Test Bulb', type 'readResponse', cluster 'genBasic', data '{"zclVersion":1}' from endpoint 1 with groupID null`
`debug 2021-01-07 18:00:55: Successfully pinged 'Sengled Test Bulb'`


To this end, I would assume there's a way for homebridge-z2m to be able to pick up on these messages as well, and impact the state of the end device.


**Additional context**
n/a

**Are you willing to contribute to this feature?**
If I can.  I'm no developer but I can more or less tell what code is doing.  Though I don't have a lot of experience in Javascript (mostly python).
