GUIWindowPVR: don't spawn dedicated thread just to invalidate channel items every 5 seconds. Instead run CStopWatch when activating channel window, check if 5 seconds elapsed and then inavlidate window and reset watch.
GUIEpgGridContainer: split Render() into Process() / Render()
GUIEpgGridContainer: get rid of GetRulerCacheOffsets() method which is just duplicated GetProgrammeCacheOffsets()
GUIEpgGridContainer: get rid of unused now (and never should be used) m_renderTime
GUIEpgGridContainer: fix memory freeing for ruler items
GUIEpgGridContainer: fix memory freeing for programme items
GUIListItemLayout: SetWidth() / SetHeight() - mark invalid only when new size is different from old one
[WIN32] Peripherals: clarification of iMON setting.
[cosmetics] convert tabs to space for consistency
extend metada.xsd with optional elements
set library attribute as required
[Interfaces] Performance: prefer prefix ++/-- operators for non-primitive types.
[Interfaces] Performance: possible inefficient checking for container emptiness.
Adjust RunSlideShow() param order.
Add 'ShowPicture()' builtin function to display single picture.
add Player.IsInternetStream Infolabel
Fix crash when audio encoder is not initalized.

In some cases, audio encoder is not initalized (as explained in ticket #14298).
[Interfaces] Performance: Returning the result of c_str() in a function that returns std::string is slow and redundant.
[PlayList] Performance: Variable 'pos' is reassigned a value before the old one has been used.
[AddonClass] Make AddonClass really non-copyable.