[FIX] Timers are now working with signals like other actions

Timers were stored in a global variable, they are now attributes of the model
which let them being shared across threads and signals firings.
The system relied on is_alive() function to recognize new threads/timers
from old ones. It now relies on a boolean associated to each timer, which is
set to False when the run() method terminates.

Fixes #5, fixes #1
[ENH] Clicks on (canvas) grid items prints the item name

A small opening on interactions with the "canvas" using clicks.
[REF] Removed spaces and new lines for sake of readability
[ENH] Clicking on items now can fire actions

This highlights the fact that circular rules are not well handled by the state
machine at this point.