Move ctrl to after vblank, not before.

Tests I'd done long ago suggested this wasn't right, but we made other
timing fixes since then, and now tests are showing this is the right
order.

May improve Patapon/etc. timing, or may hurt it...
Minor simplification to ctrl buffer updates.
Include all released buttons in the latch.

Not just newly released ones.  This does appear to be how the PSP fills
this buffer - it's normally 0xffffffff.
softgpu: Only check clear mode once for depthtest.

Small, small optimization.  It's only called outside clear mode.
Merge pull request #4556 from unknownbrackets/ctrl-timing

Adjust ctrl timing (sample and wake after vblank)