Generate artifacts in bin directory

As on some platforms, executables share the same name as some source
directories, resulting in name clashes when building.

This commit puts all library and binary artifacts in a bin directory.