London gives £5.6 billion a year in cash to charities