Remove POSIX defines.
Remove unnecessary stdint includes.
Migrate C++-dependent header files to .hpp.
Normalise include guards.
Add sugary wrappers for state gating.
Move more command handling logic to CommandHandler.
Clean up commands a tad.
Refactor command system.

The player now exposes lambdas that close over its actions, which are used by
the command handler.
Separate player commands into their own files.
s/au/audio/
Split up the ring buffer implementations.
Move ringbuffer templates into ringbuffer directory.
Move player sources to separate directory.

This has messed up the Makefile a bit.  Soz!