lightweight C++ particle engine