This commit minimally changes the signature of timer_setup() to greatly simplify timer management, allowing to user to let the library choose available timers dynamically depending on the settings.