We buy the annual pass and take our 3.5-4 year old several times a year. Even though we are only a couple hours away, we usually spend 3-5 nights at a condo or disney hotel. You did not mention where you are staying, but I prefer condos since we can cook and not have to eat out every single meal.
The character breakfast at Chef Mickey's in the Contemporary is great. Your son will be fresh as opposed to dinner after being at the parks all day. Check park opening times. Some, like AK, open later and so you can do the breakfast and still make the opening of the park.
May should not be too crowded - we are going again the end of this month. Getting to the parks first thing in the morning has its obvious advantages; however, you usually have longer lines for parking and security. We usually go back to the room after lunch and let our son take a nap. Then, we'll go back at night for fireworks or a parade and more rides.
EPCOT has the least attractions for little children. Although, our son loves Spaceship Earth, test track, honey I shrunk the audience, Food Rocks, and Norway's ride. We've always done Epcot at night and thought it to be less crowded then.
The height requirements for rides is now lowered. My son can go on many rides now that he is 40 inches. He loves them all - even Tower of Terror.
Rent strollers rather than bring your own. Yes, it will cost more, but it is a pain to fold up a stroller on the busses and trams. And have your 4 year old ride in it as often as possible. This keeps them going longer.
Bring your own drinks in a cooler and keep it in the stoller. We save lots of money by not having to buy drinks at disney. And you can give your son a drink anytime he wants it. We also pack fruit, like grapes and apple slices and bring this into the shows. It is a good refreshing snak and keeps the kid occupied in case he finds the show boring. Some people even pack their own lunches, but you can now find good food at reasonable prices at the parks.
Wear light comfortable clothes and shoes. Pack as light as possible - I'm always amazed at the people who have 2 and 3 bags hung over their shoulders when it is 95F out. Having a stroller helps carry all the necesarry items.
It is getting hot here in Florida. We bought one of those fan/water bottles and now use it on all our trips when it is over 80 F. Bring sunscreen. Oh - and a change of clothes for your son so he can play in the water fountains at the parks. If you can't stand being in wet clothes, bring a change for everyone if you are going on the rapids ride at AK. That is a great way to get cool.
The best tip I can give you - USE FASTPASS. We have a routine that works great at MK. When in Fantasyland, we get a fastpass for Pooh and then ride its a small world and the others around there. Once we've done Pooh, I run over and get a Fast Pass for Buzz and then meet the wife and kid at the people mover and we ride it and others until we can get on Buzz.
Another reply suggested letting your kid swim in the pool. This is a great idea. Don't try to do the parks all day for all 5 days.
Get a baby sitter one night and go out with your husband. We go to Califronia grill on top of the contemporary. Make reservations for a half hour before the fireworks go off at MK. It is a great view.
Good luck and have fun - it is mandatory at WDW.