For the GUI you can use .net or QT. Both support serial ports. Depending on your computer configuration you can usb or serial. Serial is straight forward just get a micro controller with UART (use MAX232 chip) and 3 PWM channels. For USB you can go two routes. One is use a FTDI chip to convert UART to usb. Option 2, get a PIC microcontroller with usb built in. The reason for PIC is that it has a CDC library that will allow you to emulate serial over usb. (Example is provide in library.) This basically means you have the FTDI chip built in. However these PICs can also do USB. The problem is I don't think .net and QT support USB yet, just serial. All configuration require a micro controller with 3 PWM channels.
I hope this helped.