I lived with someone who was basically the same. "worked" from home, but could phone to ask answers to quizzes on the radio from a friends house, didn't have time to wash up cups because he was working, fell asleep on the sofa every night, left me to look after his son on the weekends when he had access, refused to do the shopping because I paid for it, he paid for the rent etc etc. and would stand two inches away from my face and shout at me. He would also walk downstairs and tellhis son that I was talking out of my ar*e again. It took me time, but I went, we did try again for a while living apart, but I knew he would revert to his old self, he always did.
Please think about it, but I think you are strong enough to move on. Not only is it affecting your life, but that of your son. My daughter still remembers things that happened when we lived with my ex, even though he wasn't her dad. Things do get better when you are on your own. Please don't think that this is all you are worth, you are worth so much more and it is better to be on your own than with the wrong person.
Sorry to waffle on but I see so much of me here and I am so much better on my own!
Good luck babex