Print the list of audio drivers so you can try each one
Move all DirectInput code from DI2 to DI8.

Fixes failing Haptic subsystem initialization on Windows.
Add log, assert and harness (partial) to test lib
Update assert API in test lib; add to and harness; add test lib to VS2010 and VS2012 solution; fix VS2012 solution; fix compiler warning
Update VS2012 solution - add missing files; fix some static analysis warnings
Update prototype in surface.c to fix xcode build after last change.
Added to harness in test lib (work in progress)
testmessage should test Unicode strings.
X11 message boxes should work with UTF-8 strings if possible.
X11 msgbox: try to protect the existing setlocale() state.
astyle to the rescue!
Fork a child process for X11 message boxes, so setlocale() doesn't break stuff.
Added existing common.c/.h functions to test lib; minor assert refactoring
Removed the "logical" Linux joystick code.

It's been forcibly disabled since 2009, since the kernel apparently splits
 these devices for us now, and apparently the code was crashing at the time
 (see hg changeset 11c079bb52a8).

Also, it was a ton of messy #ifdefs in this file!
Removed old Linux joystick API (/dev/js*).

The newer API (/dev/input/event/*) is 12+ years old at this point, and has
 been available since Linux 2.4.
Allow testjoystick to quit, instead of looping on hotplug events forever.
Cleaned out tabstops, other minor style nitpicks.
Don't hang testjoystick if we failed to open the device in the first place.
Print stick GUID in testjoystick.
Updated Linux joystick code to support hotplug, GUIDs, etc.

This uses libudev for hotplug, but it's optional, so we'll just try to find
 some reasonable defaults without it (maybe an older Linux box or under
 FreeBSD's Linux emulation?).