Start making a library for parsing and doing actions.

Also, rename alarm.ino to alarm.c as it's not arduino-specific.
Slightly rewrite keypad stuff -> less code, more functionality
Add time of last menu action
Globalify time stuff
Just add a bool flag for inverted actions...

... rather than making a billion actions and counteractions. Use more, but
smaller, actions if needed!
Change semantics of actions a bit.

This allows us to pass the smaller actionmask_t around, leading to lower memory
usage.

Also, rename alarm and alarm back to ino as it's all plenty arduino specific
anyway.
Use enum week_day where appropriate
Use global time variable and simplify menu API
Inline getter and setter for screen backlight
Move serial device define to serial.h for re-use
Nitpick static inline
Working actions! \o/
Actual backlight blinking and better logic in menu
Tiny prettifications in pcd8544 driver
Well, that was simple enough to fix
Return NULL, not a dereferenced NULL...

Fix what would most likely have segsaulted on systems that can segfault!
Convenience functions / defines
Fix weekly repetition logic...

... to handle repeats from the day you're already on
Allow setting an alarm from the keypad!