libcloudphysics++ - a library of algorithms for representing cloud microphysics in numerical models