add builtin to set GUI Language
GUILabelControl support highlight/selection, and show cursor at same time.
[gui] added colordiffuse attribute on texture definition
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.
Increase USB and CEC rescan interval to 5 seconds

In one of my investigations to see why XBMC performance is so bad (even when idle) I found one of the threads (in my case PeripheralBusCEC) scan a big sysfs tree recursively. On the 1Ghz AppleTV 1 device this would be about 2% of the CPU *every* second. For the USB thread we luckily have Udev events, but for CEC it is using sysfs polling which is quite expensive. It would be better to make use of Udev as well for CEC (where available) however 5 seconds should be fine for everyone.

In my own builds I even brought it down to 30 seconds. Which means 29 seconds of reduced CPU usage.

The CEC polling probably should be more restricted to specific sysfs sections, or preferably use Udev as well, when available.

PS XBMC needs a special idle-state where it can turn down these expensive threads to make sure hardware can go into deeper sleep states. Especially for devices that doesn't do suspend for various reasons this is a requirement. (The ATV1 device for instance gets warm even when idle) If we can combine display-sleep with low-power states and a less expensive main-loop, that would be already quite an improvement without needing a complete refactoring of the code.
Use different names for USB/CEC and Udev related threads

While debugging some rescanning issues, it helped to distinguish the different PeripheralBus threads. Since there is a limit to thread names, I had to make sure the name fitted into 15 characters.

This is part of a series of PRs: #2323 and #2541

Before:
```
xbmc.bin-+-{EPGUpdater}
         |-{EventServer}
         |-2*[{PVRClient}]
         |-{PVRGUIInfo}
         |-{PVRManager}
         |-2*{PeripheralBus}            <-
         |-{SoftAE}
         |-{TCPServer}
         |-5*[{XBPython}]
         `-8*[{xbmc.bin}]
```

After:
```
xbmc.bin-+-{EPGUpdater}
         |-{EventServer}
         |-2*[{PVRClient}]
         |-{PVRGUIInfo}
         |-{PVRManager}
         |-{PeripBusCEC}                <-
         |-{PeripBusUSBUdev}            <-
         |-{SoftAE}
         |-{TCPServer}
         |-5*[{XBPython}]
         `-8*[{xbmc.bin}]
```
added ActivateScreensaver to builtin functions
don't use special special sort episode/season members as episode/season number
fixes #14281
[confluence] update episode/season labels to better handle empty season infolabel
don't depend on special sort epsiode/season when formatting label and update season/episode format to be more in line with values returned by infomanager
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.
[rbp/omxplayer] Fix for hang following seek after eos

If you seek after the demuxer eof, the eof state is cleared, but we are not clearing the flags relating to sending eos stream to audio/video players
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