Merge branches 'wasapi_spdif_needtest', 'wasapi_default' and 'wasapi_options', remote-tracking branch 'origin/lua_experiment' into all_merged_with_lua

* wasapi_spdif_needtest:
  ao_wasapi0: Log the passthrough format in MSGL_V
  ao_wasapi0: Also do passthrough for AF_FORMAT_MPEG2
  ao_wasapi0: Support S/PDIF passthrough
  ao_wasapi: Don't leak the default device's ID when listing devices
  ao_wasapi: Annotate the default device when listing devices
  ao_wasapi: Refactor device listing/loading
  ao_wasapi0: Rename to ao_wasapi
  ao_wasapi0: Use the mix format directly in try_mix_format
  ao_wasapi0: Don't complain about failed init during AO probing
  ao_wasapi0: Don't fail init when listing devices
  DOCS/man/en/ao.rst: Document ao_wasapi0
  ao_wasapi0: Demote "negotiation failed" message to MSGL_V
  ao_wasapi0: Support shared mode, better format guessing method
  ao_wasapi0: Support device enumeration and selection

* wasapi_default:
  ao_wasapi0: Make default on Windows.
  ao_wasapi: Don't leak the default device's ID when listing devices
  ao_wasapi: Annotate the default device when listing devices
  ao_wasapi: Refactor device listing/loading
  ao_wasapi0: Rename to ao_wasapi
  ao_wasapi0: Use the mix format directly in try_mix_format
  ao_wasapi0: Don't complain about failed init during AO probing
  ao_wasapi0: Don't fail init when listing devices
  DOCS/man/en/ao.rst: Document ao_wasapi0
  ao_wasapi0: Demote "negotiation failed" message to MSGL_V
  ao_wasapi0: Support shared mode, better format guessing method
  ao_wasapi0: Support device enumeration and selection

* wasapi_options: (25 commits)
  ao_wasapi: Support loading devices by name
  ao_wasapi: Don't search for devices as part of validation
  ao_wasapi: Change function macros to require semicolon after invocation
  ao_wasapi: Use OPT_STRING_VALIDATE for device suboption
  ao_wasapi: Fully convert to m_option API
  ao_wasapi: Don't leak the default device's ID when listing devices
  ao_wasapi: Annotate the default device when listing devices
  ao_wasapi: Refactor device listing/loading
  ao_wasapi0: Rename to ao_wasapi
  ao_wasapi0: Use the mix format directly in try_mix_format
  ao_wasapi0: Don't complain about failed init during AO probing
  ao_wasapi0: Don't fail init when listing devices
  DOCS/man/en/ao.rst: Document ao_wasapi0
  ao_wasapi0: Demote "negotiation failed" message to MSGL_V
  ao_wasapi0: Support shared mode, better format guessing method
  ao_wasapi0: Support device enumeration and selection
  options: add generic option that is supposed to help AOs
  ao_portaudio: use new option API
  options: use new option code for --ao
  mplayer: simplify AO creation
  ...

* origin/lua_experiment: (96 commits)
  cocoa_common: handle keyboard modifiers for mouse events
  osc: Large parts rewritten, now 5 times faster!
  input: Ignore spurious mouse moves
  configure: Add some -Wno-error= flags to ERRORFLAGS
  osc: use new defaults.lua features and other minor stuff
  defaults.lua: add function round_rect_cw() and merge()
  osc: Modified Proportions and other stuff
  minimal event infrastructure
  osc: Minor modifications
  resolve forgotten conflict in cocoa code
  osc: cleanups
  kill ratio-pos property
  osc: no idea
  osc: fix incorrect scaling of mouse area
  osc: add display of track counts
  lua: export track list
  manpage: document input sections
  command: add commands to enable/disable input sections
  input: store number of binds instead of 0 termination
  input: keep number of keys, instead of using 0-termination
  ...