If you want to play with circuits, though, an H-Bridge is only 4 transistors and some diodes. Just be sure you're choosing the right transistors (this is...sadly something I don't know how to do, but am interested in learning).

Keep one thing in mind, though: if you're using an H Bridge like the one I just showed you, you have to use TWO PWM outputs, not just one. If you modify it with a bit of logic circuitry, you can only use one PWM and one digital IO pin (not in PWM mode, just on/off). This is because you need to be able to set the direction of motor as well as its speed.