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.