Interesting idea. I built my first airframe using a KK multi-copter controller for proof of airworthiness before embarking upon building and programming my own controller. When I understood the quality and breadth of programming already done I instantly gave up and moved to an arducopter controller and never looked back. Just combining, and then getting usable data from your sensors, (ignore PID for now) is quite a feat!
That's not to say it's not a fascinating project, but I'd rather fly than solder!
Re-purposing a generic device like a phone is never going to be great especially when you consider that 8bit processors on purpose-built boards are now stretched to the limit! Then you have to get from your phone to the outside world (esc's, Rx etc.) at a fairly fast data rate (compared with HID) (expensive as a controller too!).
The idea of using an off the shelf, plug-in device is very appalling though. Off to look at Alex's link....
Edit - just had a quick look: Interesting! using a digital pin as a ground - I wondered if it was being used as an 'enable' but not that I can see.