Improve build process

Support CFLAGS, CXXFLAGS and LDFLAGS
Runtime resolve location of SDL headers and libraries

Do not automatically build test target (gtest dependency)
Fix struct/class missmatch
Add missing header for std::function
Refactor Makefile

Add header dependencies
Separate folders for sources, headers, libraries and binaries
Merge pull request #10 from badeip/rewrite_sound_build_process

Rewrite sound build process