CMake build system; fix alignment issues: add alignas declarations, aligned operator new: default operator new if sufficiently aligned, posix_memalign on POSIX, _aligned_malloc on Windows, manual realignment on the rest; use system JsonCpp; main.cpp: check arguments; std::max_align_t: some compilers don't implement full C++11 <cstddef>, detect if C11 definition are visible and use it or try to implement it ourselves