Arduino Fio with Programmer

The Fio, as is, has the USB on board for charging the LiPo connector that is also on board. I didn't really need this functionality, as I was planning on just charging the LiPo battery when I was home with a USB charger anyway. I also didn't need the XBee headers for any particular need in my project. I already have the board as it was close enough to my needs, but I was wondering if it was possible to do the following:

Could you make or modify an Arduino to have a USB programmer, LiPo connector and a LiPo charging circuit. A few ways I thought this might work... Option A: You have a switch on board to swap between programming the board and charging the LiPo. Option B: A circuit that somehow splits the power from USB to both charge the LiPo and have the ability to program the board at the same time.

In either case, I only need digital pins 3-11 and 13, some with PWM. No analog input. I understand that this would most likely mean I would have to design my own PCB, but I'm wondering if either options are even possible before I start going into all that work. If I didn't clarify something well enough, as this is kind of complicated, let me know and I can elaborate on certain points.

Bonus: I was thinking I might also incorporate a LiPo Fuel Gauge using surface-mount LEDs and a pushbutton, but I don't know if something along the circuitry would prevent that.

The SODAQ board has these features.

Please click here http://www.kickstarter.com/projects/386717175/sodaq-a-lego-like-plug-in-rapid-prototyping-board

You might look at the Adafruit FLORA also.