John Lewis, Tesco, Amazon go for tear-jerkers, as others find Christmas fun