c# library for manipulating Chess portable game notation (PGN) files