Limit the time between tap signals.

After we wake up, count watchdog events, and use that to limit the
rate at which we can send TAP_SIGNALs.  If a signal has been sent
recently (as indicated by the counter) don't send another one.

There is one problem with this demonstration code: we use TAP_SIGNAL
to wake up, and also to terminate the random number sequence early.
Because the switch that is being used to simulate the tap sensor is
noisy, it generates more than one interrupt when pressed.  This means
that the TAP_SIGNAL that sends the program back to sleep can be
immediately followed by another that wakes up the program, and it
looks like nothing has happened.  But this will not be a problem with
the real code, as we will not be using taps to return to sleep.

Signed-off-by: Russell Steicke <russells@adelie.cx>