Second pass at moving joystick settings into general settings dialog window

Hopefully this one's a little cleaner. Only thing I could see people complaining about is me changing "joystick" to "controller" in the UI, but I think that makes more sense. I use this interface and only use gamepads, not joysticks, so controllers should be a more general and better term anyways.
Qt puts everything on the heap due to its D-pointer architecture (see https://stackoverflow.com/questions/18984925/c-why-do-i-create-these-widgets-on-the-heap), so this doesn't really save us that much. It'd also be inconsistent with the way most of the code in QGC is written. Qt was really designed for everything to be on the heap. While I don't like it either, I see this more of a quirk in Qt than a defect with the particular way I've programmed this.

Having said that, do you ever put QWidgets on the stack? I don't think I've seen anywhere in QGC where that's been done.