Implement GPX parser (read/write).

Implement a parser for GPX which supports read and write.