Implemented some unit tests. Tweaked GUI and refactored code.

Checking upcoming deadline and stuff can always be done manually by filter.
I don't think custom reminder time is worth the effort.

To check deadline, can just allocate task ids to a slot data structure (slot denotes deadline). The timer will advance to one slot each predetermined interval and see if there is any task that due in the slot.

You can implement the slot