Added include <memory> to parser.hh in order to use shared_ptr

In the `parser.hh` file, the `shared_ptr` data type is used, which is provided by the header file `memory` of the standard template library. However, `parser.hh` does not include `memory`, which causes compilation to fail with both GCC and clang; with the added `include`, the library compiles with clang. (But not with GCC, for some reason.)