Compile ucode*.cpp as C source code

The ucodes are basically only C code and don't use C++ features. It is
therefore not necessary to build it with a C++ compiler.
Don't mix declaration and code

C90 only supports variable declaration at the beginning of a scope. Not doing
so will break builds in MSVC.
Fix function declaration for functions without parameter
Add missing includes for global declaration
Mark only locally used symbols as static
Move all extern definitions to the header files
Move shared MP3 symbol definition to header
Always use standard ISO C99 datatypes for sized variables
Only include what each source file needs
Remove dead assignments
Remove unused extern declarations
Remove code which only exist as comment
Replace C++ comments with C comments
Fix wrong code alignment on linestart
Move longer comments to separate line before the code
Cleanup oneline if statements
Use clamp_s16 to clamp values to int16_t range
Merge pull request #3 from ecsv/nocpp

Add additional cleanup changes