You are going about it the wrong way!
The servo you are trying to control wants a pulse train at 20-60 Hz with a pulse width of between 1000 and 2000 microseconds. This is a standard hobby servo.
The circuit you're linking to uses a digital potentiometer plus a 555 timer to generate that pulse train. That's one way of doing it, but it's a pretty dumb way of doing it IMO. You would then have to find a way to control the digital potentiometer from USB, which means some kind of interfacing circuitry or board. The Arduino is one board that interfaces between USB and various electric signals, but there are others.
It's going to be cheaper and more reliable to do it from a microcontroller. Simply disable interrupts, pull the output high, wait for the right number of cycles, pull the output low, and enable interrupts, then sleep until next time. An Arduino could do it if you want a plug-and-play board. An Atmega8u2 or better microcontroller could do it if you want to wire something up on a breadboard. A good example would be the Atmega32u4 breakout board from mattairtech.com -- I use that for many things, and it's great! I write the code using the LUFA library for AVR microcontrollers, and drive it using the libusb library on the computer.
If you don't want to go that way, you can buy something that's pre-made that speaks USB on one end, and speaks servo on the other end. The ideal plug-and-play solution would be the Micro Maestro from Pololu: it speaks USB on one side, and speaks servo pulse trains on the other side, controlling up to 6 servos.
If none of these solutions work for you, then you have to be a little more clear about what your requirements ACTUALLY are, and why these particular solutions don't fulfill those requirements. You have to realize that you're very unlikely to be able to speak USB without some kind of microcontroller involved, though.