Fix typo in filesystem.hpp.
Reimplement the build system from scratch. It's finally clean.
Add copyright notice on top of the license.