I took the guts of the Solder Sniffer 9000 project, which consisted of an MCP73831 for the charge controller, and modified it a bit to charge an LIR2032.
The main change needed was the value of R3, which is responsible for setting the max charge current. For the LIR2032, the max charge current is 35mA. By using the supplied formula in the MCP73831 datasheet (I = 1000V/R) I was able to find that a 28K resistor would give me the charge current needed. To get a decent connection to the USB socket, I tinned each of the pads a bit.
The value of R3 can be adjusted from anywhere between 28K and 67K. Of course, the higher the resistor, the less charge current and thus the longer the battery will take to charge.
I wanted the charger to be as compact and simple as possible. For this reason I chose to create the USB plug out of the PCB to save on cost. I also shrank the total footprint of the board to just a little wider than the coin cell holder.