ControllerEmu: Remove unnecessary include
ControllerEmu: Fix code style
ControllerEmu: Constructors go on top
Remove UDPWiimote feature

It substantially complicates the code and doesn't really provide any
functionality. According to the forums, the Android app is out of date
and has been broken for quite a while.

If we want to add this back, I'd write an app that speaks a more native
Wiimote protocol, and we can hook that up to the backend quite easily.
It could even be over our NetPlay protocol!
Nunchuk: Stop the dereference dance
InputConfigDiagBitmaps: Start a cleanup by splitting code out

This doesn't have any functional changes, it just removes part of the
mess by killing indentation.
InputConfigDiagBitmaps: Clean up code a bit more

Split out some math into a utility.
InputConfigDiagBitmaps: Rewrite the stick visualization code

Change our DrawCoordinate helper method to take raw coordinate
positions, and draw the rectangle using that. This is a lot better
and more friendly than applying various crazy constants in the GetState
for the base/range.
InputConfigDiagBitmaps: Clean up the FORCE drawing code as well
ControllerEmu: Remove support for the "Square Stick" option

It was only used for really old joypads which we really don't want to
support. If users have these joypads, they should look into using
something at the OS level, as games shouldn't need to have this
transformation; it should be done by the OS and driver.
ControllerEmu: Always convert to polar coordinates and back

Most users will have something in the radius or deadzone fields, so
don't bother filtering out 'extra' work. This also lets us clean up
the modifier implementation.
ControllerEmu: Clean up the code that applies the modifier

This makes it more clear and pretty much the analog stick code bog standard.
ControllerEmu: Change the GetState interface to remove range/base

Do the scaling in the code that interprets the results.

This also removes the templatization of things and changes the interface
to always take a double.

This does add a bit more code to the users of GetState, especially when
having to deal with focus management, but this will be cleaned up very
soon, as focus and focus-related options will be centralized inside the
input platforms themselves, rather than spread out across all the input
plugins.
ControllerEmu: Virtualize settings

This will allow us to move Background Input to a global setting rather
than a local setting.
ControllerEmu: Make BackgroundInput a global setting through the virtualization

This will allow us to simplify the checks for background input and push
them further down into the architecture, into the ControllerEmu layer.

The new setting isn't actually used yet, though.
ControllerInterface: Gate the input based on our new background input setting
ControllerEmu: Remove focus-checking code from the rest of ControllerEmu
Frame: Fix RendererHasFocus

The logic of RendererHasFocus was extremely convoluted beforehand and
was too brittle and broke in certain circumstances, like when the
GCPad window was active. Simplify it and leave a comment explaining the
new logic. This fixes the GCPad window not working when Background Input
is unchecked.
Merge pull request #604 from magcius/wip/emu-cleanup-2

Start cleaning up the input interface