Goodness me, you folks don't half like things complicated!
The L293 should work fine connected directly to the GPIO pins - why bother with I2C, USB, drivers, libraries, etc, etc?
I would ask has the OP actually tried driving it the simple way?
There's every likelihood the chip will respond to the Pi's 3.3v outputs and switch its output on - why not try it and see first? You have to hold the 'Enable' pin high to enable the relevant channel (connect the pin to the Pi's 5v pin) and then just toggle two GPIO pins high and low to control the motor.
GPIOx = high and GPIOy = low drives the motor one way. GPIOx = low and GPIOy = high drives the motor the other way. Set both pins high or both low to stop the motor. You can also use the enable pin to start and stop the motor via a press switch if you like - just make it switch between 5v and 0v and the motor should start and stop - your GPIO pin settings will decide which way the motor rotates.
Here's a short simple explanation of the chip: http://www.me.umn.edu/courses/me2011/ar ... /L293.html
along with a 'truth table' of the inputs and outputs. A lot of 5v TTL logic inputs will still drive OK with the Pi's 3.3v outputs, so it's always worth trying that way first.