Implement microphone pass-through in audio engine.

* No way to disable it, it even invades menus.
* Requires very low suggestedLatency (so some platforms are probably b0rked).
Merge branch 'master' into pass-through
Merge branch 'master' into pass-through

Conflicts:
	game/pitch.hh
Merge branch 'master' into pass-through
Merge branch 'master' into pass-through
Some pass-through refactoring and reduce volume ratio.
Option to toggle microphone pass-through.
Configurable pass-through volume ratio.
Fix variable naming.
Optimize pass-through buffer recording.

Don't create new temp vector each Analyzer::input(), but reuse one.
Merge branch 'master' into pass-through
Implement SingStar PS3 .pkf extraction and .pkd detection for ss_pak_extract.
refactor: reduce number of headers includes

In order to reduce compilation time of each compilation unit, the number
of header's includes is reduced:
- by using forward declaration
- by moving code from header to source file to ease forward declaration
- by changing InstrumentGraph.menuTheme member from scoped_ptr to
  shared_ptr
Fix compilation without portmidi.
refactor: fix some static errors

Errors found with cppcheck
No need to use shared_ptr; simply put destructor in .cc and scoped_ptr will work with forward declarations.
Fix compiler warning about mismatched class/struct.
Update data/controllers.xml

Add support for another Dance mat
Fix portaudio.hpp so that it can be used with bare function pointers.
Fix compiler warning.