dashboard.py: split the dashboard creation and update, add methods to handle alarm
Only create the dashboard Frame the first time. Frame has three components: header, body and footer. - header will never change. - footer will change independently to show status messages - body is the one that's refreshed with the new data
Also add methods to handle alarm. This is required to stop/start the alarm when we're not in the main dashboard.