fix: add cancel function to the Timer API to make it behave correctly with finalizers and selectables
#18379
| Job | Run time |
|---|---|
| 34s | |
| 34s |