Shoppers demand 'cut prices now' as Tesco announces huge £2.3bn profit