Arcade Joystick 4 mouse control

My project:
I want to build a joystick that controls the mouse pointer and is able to connect by usb or bluetooth to an Android device or pc and has also a battery build in. If a USB cable is plugged in, the battery should be charged.

Question:
Which board would you recommend to use for it?
Is an Arduino Leonardo the best solution or is there something better than that?
What do I have to consider with the battery, do I need some kind of charging electronics for it?

With which components would you implement this?

Why do you need a battery? When the device is plugged into the USB it will be powered by the USB and when it's not plugged in it won't need power. Or is there an additional functionality of the device that you haven't mentioned?