Initial attempt at Windows.

Everything I have tested works, but it is hackish in that
Windows uses a HWND for callback. So I have to find a way
to elegantly allow for both.

Anyway, the HWND is then passed a message containing MM_MCNOTIFY
(0x03b9), and you can then use this in whatever control or window you
want to call playingFinished().

How I am doing this for Curmudgeon (the project this library was built
for) is just that: each button is responsible for a sound and has a HWND,
and -through Qt- winEvent() to listen for it. The button classes extend
AudioPlayerCallback, so winEvent just calls playingFinished().

So in the end it's only one more level of indirection but I can imagine
this being stupid. I don't understand why a HWND is involved at all when
you are using MCI. Just use a fucking function pointer, you can even have
it take the same arguments as winEvent or whatever.

Anyway, it also does now compile on Windows using Ming, with most things
working (example of not: keyboard presses).
GUID for AudioPlayerWin.

Was trying to get it to use the HWND, but
(a) it needs the HWND to create the player, but it needs to create
    the player to set the HWND
    and
(b) that breaks it if someone doesn't want to use a HWND