I am so sorry to read about your carpet. A professional cleaner will clean that up for you as well as sanitize it for you. Try Stanley Steamer. I've used them a couple of times and the results were really good and trust me, I'm a very difficult person to please.
So, granny isn't working out. Maybe it's time to change this up totally w/granny. She's getting up in age and is having some issues w/memory and you don't want this to happen repeatedly this winter. Maybe she needs to visit w/grandson over the weekend when he's w/his father. Just a thought.
Poor h, still thinking that he can have the best of both worlds, i.e., holidays w/the family and still live as a single boy scout. I think you handled the situation about the gift giving quite well. He's going to find out that he can't have it both ways and what divorce will look like, if it comes to that.
It's important that the holiday issues get resolved because they are fast approaching. Hopefully things will get worked out and you and your son can have a nice holiday season.
Take care.
Sit quietly, the answers will reveal themselves when you least expect them to. The past is gone, the present is a gift and you need to focus on today, allow the future to reveal itself when it is ready.