Validate psmfplayer config params, reset on create.

Could fix issues if a game uses different pixel modes or more likely
different loop modes.
Fix overflow in scePsmfPlayerGetCurrent*Stream().

And clean up the returned error codes.
Make scePsmfPlayerSelect*() actually switch.

Don't have any games actually using this, so let's report too.  Audio is
falsely working when the stream isn't playable, not exactly sure the best
way to detect that.
Attempt scePsmfPlayerSelectSpecific*().

These functions seem buggy on a real PSP... and they return a weird
variety of error codes.
Add errors for getting and changing the playmode.

And reporting.  Also, correct the default playMode for unset psmfplayers.
Correct PTS reading during audio demux.
Improve scePsmfPlayer*Data() timing.

Instead of blocking, video should just return old data if called too
often.  Fixes #5910.
Merge pull request #5961 from unknownbrackets/psmfplayer

Improve some psmfplayer funcs, and fix timing