My son is 4.5 months old and his sleep issues are starting to make me crazy!!!

Let me give you a short summary of his issues.
This is how nighttime goes: I usually give him a bath after dinner, get myself ready for bed, and lay down with him on the sofa about 7:30-8pm. He nurses himself to sleep. I can't leave his side or he will wake up, so I watch TV until I fall asleep (not that I get much sleep since he is constantly waking up and either wanting to be repositioned or to be nursed back to sleep. He is usually up for the day at 6:30-7am.
Naptime has become pure torture for both of us. He shows very few signs of being tired, so I am usually too late with his naps. I have started to try to anticipate (by watching the clock) when his next nap should be and try to settle him, but no matter if he's just starting to get sleepy or jittery and fussy from exhaustion, he fights sleep! It sometimes takes me 30 mins to get him to sleep, and then he rarely sleeps more than 40-45 mins at a time.
He absolutely will NOT sleep unless he is either on top of me or in a cradle position at my breast. If I put him down, he immediately wakes up, no matter how deeply he is sleeping. So I have to sit as still as I can so he won't wake up. Sometimes my arms or legs will fall asleep
All this I could endure IF I knew it was good enough, but it isn't! He isn't getting enouh sleep and he's sooooo crabby by the end of the day it's almost unbearable.
I am currently reading The No-Cry Sleep Solution by E. Pantley and Healthy Sleep Habits, Happy Child, but I'm starting to get frustrated by each book. I've tried many of the ideas and techniques that Pantley suggests and haven't had a lot of luck. I've also tried letting DS cry himself to sleep while I rub his back and sing to him, but it makes me feel bad listening to him in such misery. And he still only sleeps for 40 mins so what's the point?
Why does this have to be so HARD??? Am I just being impatient? It's hard to have patience when you're sleep deprived, but if I could have a promise of a sure-fire solution, I think I could summon the patience to do anything!