Cut down on h files including PointerWrap.

This makes changes to it a bit faster to build.
Expand out some savestate code saving non-pod.
Don't allocate a 0 array in savedata savestates.
Don't error when savestating a psmfplayer.
Add a safety check that p.Do() is only used on pod.
Make savestates automagically call DoState().
Simplify savestate code so it's all automagical.

If you can't beat 'em, join 'em?
Fix some more non-pod structs in savestates.