Boris Johnson ditches 'libertarian' stance on obesity