We have had this discussion before. The point is, IMHO that gunnar is very strict about adding features that are not obviously needed by even the most minimalistic implementation.
The "standard" is extendable: feel free to implement th {AB,AW,MN,PL,C} sgf commands into your own GTP programs. Given unlimited undo, you could even remove the sgf-reader from the engine, and leave that to the GTP-driver.
If you want to use gtp for controlling (otherwise hidden) state in your program, just create a private extension to the protocol for getting/setting the variables. One such command could be "SGF AB dd qq"
AvK