Refactored CancellationToken.

To improve performance when passing the token around a lot.
Added example of canceling an active calculation