Let's recap re STM32F103:
why mess with v-usb and atmega when stm32f103 dev boards with native usb are available on aliexpress for $2?
Because you need ST-Link or a 3.3V UART adaptor to program it, or to burn the bootloader for USB programming.
Why would you use a UART to develop on an STM32? Most people just throw down the $5 for an ST-Link to get full Serial-Wire debugging. If you were intending on "trivially" burning this bootloader just so you can use it with Arduino, then that is just silly.
Well, that puts the development cost for a single ST32F103, that was supposed to be just $2, to $7. (And ST32F013 does not have a bootloader in ROM, so you do need an ST-Link or 3.3V UART to program it.)
Pro micro clones are < $5, and DigiSpark clones (ATtiny85) $1.67, on eBay. For the DigiSpark, you don't even need a cable, just stick it into an USB port, and you can program it.
Granted, DigiSpark USB (VUSB) is purely software-based, and I don't completely trust it (the timing part, in particular; no crystal). In my testing, it seems to work just fine for HID stuff. Both the Teensies and the Pro Micro clones have been absolutely rock solid wrt. USB comms in my testing on several machines, even at near the theoretical maximum transfer rates (a bit over megabyte per second when using bulk transfers). Teensies also have a very friendly and vibrant forum at PJRC.com where the developer (Paul Stoffregen) frequents.
The title of the thread, and topic at hand, is
convenient USB GPIO module. You don't need hardware debugging for that kind of trivial firmware; at least I never have. And needing a separate module to program the device is not exactly the most convenient; especially if something goes wrong. That is the reason I didn't recommend STM32F103's myself, even though I am interested in them (for comparison and exploration purposes if nothing else).