GUILabelControl support highlight/selection, and show cursor at same time.
Curl move header list into read state to support double state
Fix: now mp4 file on internet url can be played by dvdplayer by double session support of cache.
Fix race conditions after starting flag reset,
make sure play state callbacks are called and only called once.
[Fix] Use shared pointer for the player in CApplication, fix double PlayFile call crash.
Change return value of PlayFile/PlayStack to support cancel detection.
Revert "Fix compile of current master branch without PR2244 merged."

This reverts commit bb75ae7b1cce556a668d74c8310a5984ff69b77a.
Detect PlayFile cancel better, any pPlayer->CloseFile() will cancel playback.
build: stop using whole-archive for our final binary

This nasty hack has been around for ages. By changing, we get the following
benefits:

- We don't link in _every_ object in _every_ archive!
- Builds will no longer fail if a source file has been removed but its object
  still exists in the archive
- Filesize reduction
- Ability to use lto, garbage collection, dead-code stripping, etc in a
  useful manner

This is achieved by specifying a main object on the link line, and using
start-group/end-group to search through the archives multiple times until each
symbol is found.
wake on access
texture: combine Load() and GetTexture() since they must be used together
Also apply double cache for avi files.
When using double cache, do not increase the total memory cost.
gui: add "Browse Into" action for iso/img files

This moves logic of when a file folder should be expanded into CFileItem
instead of spread out in code. It now decide if a file should be expanded
directly, onbrowse, onclick.
gui: file manager should always browse into file folders on clickk
udf: reduce some of the read indirections
udf: split out open of iso from open of files inside
udf: fix functionallity when cache is disabled

This moves metadata partition hack into UDFFindPartition so
it is always applied. It also fixes up so we only look at
that
udf: factor out code that parses an allocation descriptor

Partition field should be set before call in the ad structure
udf: move file type and icb flags into FileAd structure

It was passed along everywhere the structure was