monitor: Use hardware hooks
This PR uses hardware hooks with monitors.
As result:
- The monitor panel is decorrelated from any hardware (it will never be rerendered)
- The logic of
useHardware
hide the fetching (there is no need to know that in the widgets) - Each
MonitorHardware
handle themselfs the hardware update - Each value/override/unit can point to different hardware (the syntax was allowing that, but the implementation was not)