add taskwarrior widget
add new IntervalWidget base class

Widgets can now extend this class to have their output cached and only
updated at certain intervals.