Replace `@synchronized` with NSRecursiveLock in BFCancellationToken and BFCancellationTokenRegistration