Improve accuracy of sceGeEdram* and sceGeSave/LoadContext

Well, it may be pointless accuracy, but it mostly matches the context saved by the PSP.

A few notes:
 * I don't think the vertex/index/offset addresses were being saved/restored before.  Might matter?  Probably not.
 * It was writing more data before, now it writes about as much as the PSP does.  Maybe might save a game's stack's from corruption?

And a few more on the pointless accuracy side:
 * There's some other values in the first 10 that I'm not sure what could be.
 * It seems like, on the PSP, it ends in a GE_CMD_END (notably without a GE_CMD_FINISH) and loads the matrix data one by one, which I wasn't sure was necessary (although maybe it'd be nice to "run" it as a list.
 * It seemed very clear that lighting and bone matrices were zeroed out by default, and couldn't find any regressions from this change.

-[Unknown]