[rbp] Fix for stuttery video when seeking before zero

There are a few issues with seeking I found.
We weren't correctly setting OMX_BUFFERFLAG_TIME_UNKNOWN on the first frame after a seek which could make the GPU think video was at 0 and audio at a much larger offset.
A full video fifo (to GPU) stops any higher priority messages from being received which can stall a seek and the flush message doesn't get through. Use m_flush to discard the video packet that doesn't fit.
We get an audio frame through with unknown pts/dts after the flush, but before the GENERAL_RESYNC when seeking. This was given to GPU and was perhaps 30 seconds out from the following packets and that throws off the timing between audio and video streams. Keeping m_flush true until the GENERAL_RESYNC discards this frame. Hopefully that is safe.
FIX: BitstreamConverter: don't close the converter without warning in case of conversion error
added: = & != operator for CStreamDetails
fixed: The VideoThumbLoader didn't fetch streamdetails for items that didn't have a file id set in their infotag
changed: Move job type definitions into job.h
settings: move GUIDialog* and GUIWindow* into their own sub-directories
move AppParamParser.h/cpp from xbmc/settings/ to xbmc/
XMLUtils: add std::string version of GetString()
settings: move UPnP related settings from CSettings to CUPnPSettings
turn CPlayerCoreFactory into a singleton
settings: move logic to load playercorefactory.xml into CPlayerCoreFactory
[win32] update project files
Merge pull request #2358 from koying/fixbistreamconverter

FIX: BitstreamConverter: don't silently close the converter in case of conversion error
fixed: Move storing of streamdetails from CApp::PlayFile() to the SaveFileState-job, where it already partially was (for DVD stuff).
This fixes a few issues:
- Races causing possible invalid streamdetails to be stored in the db;
- Stream details for current file were not stored when item was not in the db yet;
- Check whether the streamdetails in the db need updating by comparing. This fixes also fixes previously invalid/incomplete stored details;
- Also clarify the special case for DVD stuff.
fixed: We can only obtain the aspect & duration this way when the Process() thread is running (and UpdatePlayState() has been called at least once) else CApp will race getting the streamdetails on player start and get 0 for ratio/duration. In that case fallback to info from the demuxer
changed: When checking for eg. user thumbs just check whether it's either a folder or a video file
fixed: Instead of checking whether the item is video, check whether we're playing video else we may obtain invalid info due to racing
Always copy overlays from file parser - Fixes stuck hw resources on render
Merge pull request #2264 from arnova/streamdetails_fixes

Streamdetails fixes
changed: Implement pause/unpause for the job queue of a certain priority and use this for the pausing of low priority (eg. image) jobs when starting/playing video