Merge pull request #46 from mariokonrad/refactor

Refactoring: separation of several classes into their own files.
Correct linux portaudio build errors.