the bootloader wants USB_DISC, an LED, and a button. USB_DISC is necessary, but you can fake the last two/move them around (in fact, we did just that in the mini-boot bootloader branch).
the LED is just a status indicator; the button is just a way to signal perpetual bootloader mode. ("ok, i'm blinking fast to see if you want me to enter perpetual bootloader mode"; "ok, you pressed the button, so i'll just wait for new code forever..."). if you can live without those, we could refactor things so those steps would be omitted.
USB_P is not used.
the diff between the maple-bootloader master and mini-boot branches is likely a solid predictor of the work necessary to get the current bootloader up on your device. once that plays nice, you're likely golden as far as libmaple is concerned.
the IDE relies on serial-over-usb to request the chip to reset itself. this (of course) remains true in the upcoming serial bootloader. if you want IDE compatibility, you should preserve that. the short story is that we do a little DTR/RTS toggling to transfer control to the bootloader, then conduct the remainder of the transaction over the data lines.
the connections made at PC 9, 11, and 12 can be #defined to go somewhere else. in general, if you don't feel like breaking something out, then don't, and make your own BOARD_xxx entry (PIN_MAP, etc.) to reflect that; see boards.h:
https://github.com/leaflabs/libmaple/blob/master/wirish/boards.h
so far, that's all we've had to do to make libmaple play nice with our maple mini prototypes. i'm just finishing that up right now; a git push will occur sometime tonight.
we expect libmaple to grow more device-agnostic over time as we add more boards to the line. right now the bootloader situation is a bit of a mess, though. since many things are behind schedule as it is, that mess is likely to remain for a while.
in any case, we probably won't mind merging your changes in; in fact, patches are usually welcome, and it seems like you've got a cool project brewing.