Initial implementation

Initial implementation of the software watchdog.

The only thing I don't like so far is that critical sections operations are not tested. But they were carefully done so...
printf is not a good example since you mention in the warning above that the callbacks should not rely on blocking OS services.