Does anyone know what free bitcoin wallet can support the cancellation of unconfirmed transactions?
Most Bitcoin wallets, including Bitcoin Core, have the feature to help get an unconfirmed transaction that is still in the mempool be more likely to get included in a block by "re-sending" to another address with an added transaction fee. This new address can be one that you own, so you'd be sending the bitcoin to yourself. This feature is called "Child Pays For Parent", or CPFP.
A good guide for how to determine the proper fee is here: https://themerkle.com/what-is-child-pay-for-parent/