Changed the widget update to an alarm based system, and allowed for user selectable intervals.

Still needs testing as there was a potential fatal crash that may have
been related...