UK PM has paid for gifts worth more than £6,000 in a bid to salvage his reputation amid a growing scandal over freebies.