Conform to the syntax for tracing function chaining
Turn the Future.result() into an active wait to allow for proper task cancellation
Added colors to the logging
When cancelling an action, log the exact location source where the cancel occured
Make waiting for resource an active wait
Beacon IDs are now 'beacon_%i'
WIP to close gracefully - ie, cancellation management
WIP: removed one layer of indirection in the creation of action threads

Now, 1 action = 1 thread (no more thread pool).
This simplifies a lot the code and makes it much easier to understand.
Cleaning does not yet work well enough (ie, Ctrl+C does not terminate).
testing/test_action_cancelling.py pass though.