Good game with a retro feel
This is a short game that requires patience and pattern recognition. Reminds me of the NES-and if you've played some platforming games on that system (Ninja Gaiden and Castlevania come to mind), you ought to know frustration from dying repeatedly and starting over from the beginning of a stage.
The core concept is "RHYTHM." Or at least, it should be, as the many of hazards come in time with the music. However, the game's design of timing movements with the music isn't necessary here. The entire game has clear, memorizable patterns, so it's not necessary at all to even listen to the music to progress. Also, it is possible to create a permanent halfway marker in stages one and two by simply laying an egg right below the egg powerups in those stages. (If the egg powerup gets used up permanently for the duration of the stage, then perhaps this isn't an issue)
Anyway, here's my strategy to beat the wizard. (don't read unless you are really stuck/frustrated and just want to see him burn, as finding the pattern is the best part of it)
When the battle starts, stay close to the wall and about as high as the wizard's head. (Ideal spot is near where the gate that closed behind you and the wall meet). Wait until the wizard launches his fireballs (he fires exactly two at you), at which point you should swim down. If done correctly, the fireballs should rebound and at least one of them should hit the wizard before he can get another shot off. While he gets damage, you should return to the same spot again to set up and prepare for his next volley.
If you can consistently hit him before he starts his next shot, he shouldn't even be able to use his rain of fire, (easily evaded if it comes to that) and it's on to round two.
For the second form, he has three attacks that he does in the same pattern. The first attack is his fire breath, and it may catch you offguard for the first time as it can seem to come at you faster than you think. Before he does it, try to position yourself near the bottom of the screen and go upwards, letting the breath pass below you. Head to the upper left corner.
His second attack is a barrage of fireballs, which you can easily evade by starting at the top left corner (where you should have ended from the above step) and pressing down just enough for to squeeze under each ball that comes at you. You shouldn't have to weave up and down around them-just depressing down just about a ball's height each time he fires should suffice. Don't worry about the rebound this time-the balls fizzle out when they hit the wall.
The boss's last attack will rain some junk from the ceiling at random locations. He'll get damaged by the junk, and all you have to do is dodge the stuff that comes down near you. Naturally, you have more time to react when you're closer to the ground (if you're still following along, you should be near the ground after the previous attack.)
After that, he returns to the fire breath, and you should be near the floor, ready to swim up and repeat the above steps two more times.