Ladypanda... 12 weeks ago I was in the exact same place as you are. My ds was taking 45 mins at least each side. Stupidly I read a book which said that new borns should feed for about 40 mins total, so I thought I was doing the wrong thing and leaving him on too long, so I started reducing his feed times to 40 mins every 4 hours. I very quickly found out this is far too little for a new born. My milk supply almost completely stopped. I did get it back but it was hard work.
I hate to say it but the moral of the story is let your baby feed as long as he wants. If he takes 2 hours let him. He'll get better at getting the milk out but it'll take a while. My feeds are still about 1 hour for a good feed, occasionally he has short ones of about half an hour, but I always allow an hour and he's 12 weeks old now. I guess some babies are just slow feeders, I know some people in my ante natal group have babies that feed in ten minutes flat.
This stage won't last forever, take advantage and get some movies you've always wanted to see or something similar. I caught up on loads of films during my first few weeks. Whatever you do, let him feed until he drops off. It's hard to tell sometimes with newborns cos they have a habit of falling asleep, but you'll get to know the signs that he's had a belly full!
On the subject of being knackered when bfing... I could be wrong, but I'm fairly sure that the act of bfing causes some kind of hormonal response that makes you feel a bit sleepy (oxytocin?). I always get a real urge to drop off when feeding, quite nice if you're doing a night feed and you're going back to bed, quite difficult if it's the middle of the day and you're already quite tired. But you're doing such a wonderful thing for your ds, well done and good luck!