Minor Bug fixes and Cleanup of GraphicContext.cs

Bug fixes:
- fixed Width(), Height() to use the form dimensions and not the D3D back buffer size to determine the actual width of the client size as they do not need to be the same.
- fixed OutPutScreenCenter() to properly use PointToScreen

Code Cleanup:
- used automatic getter/setter methods
- removed hungarian notation for naming of private attributes and local variables
- made fields readonly where appropriate
- added comment placeholders to all methods
- removed not references methods
- fixed a few typos in comments
- prefixed private attributes with "_"
- removed redundant code statements
- removed old commented out code
Mantis #4129

Added reset of playing times and durations to RemovePlayerProperties() in PropertyManager.cs

A better fix would be that the VideoOverlay doesn't show up unless playback actually has begun. I investigated this and it seems to be too much work for this issue.

In fact it shouldn't come up at all as playback starts in fullscreen. But currently the state is connected to OnVideoChanged() which is the wrong event in general as video dimensions or aspect ratio could be set before the playback can actually begin.

The overlay should only be visible when the first fame is rendered, not before.

With this fix the times are reset when playback it stops. So on subsequent playbacks the old values shouldn't show up.

There is another side effect. The movie title is still the filename and not what is inside the TV/Movie database. This gets updated right before playback starts. Another "cosmetic issue" by design.

The issue is only visible if it takes a second or so before fullscreen playback starts (e.g. MediaInfo takes some time over the network or the file to be processed in larger. 1080 MKVs for example).
Fixed Mantis 4117 - Scrobbler state cannot be changed in Music Playlist
Added property "textpadding"to GUIToggleButtonControl.cs

The new introduced property "textpadding" pads a label with the number of given pixels (based on the skin resolution) after the text, therefore reducing the area in which text can be displayed to prevent overlapping of graphical overlays on the right end of the control.
Added property "textpadding"to GUICheckButton.cs

The new introduced property "textpadding" pads a label with the number of given pixels (based on the skin resolution) after the text, therefore reducing the area in which text can be displayed to prevent overlapping of graphical overlays on the right end of the control.
Added property "textpadding" to GUIMenuButton.cs

The new introduced property "textpadding" pads a label with the number of given pixels (based on the skin resolution) after the text, therefore reducing the area in which text can be displayed to prevent overlapping of graphical overlays on the right end of the control.
Added property "textpadding" to GUISpinButton.cs

The new introduced property "textpadding" pads a label with the number of given pixels (based on the skin resolution) after the text, therefore reducing the area in which text can be displayed to prevent overlapping of graphical overlays on the right end of the control.
Added property "textpadding" to GUIButtonControl.cs

The new introduced property "textpadding" pads a label with the number of given pixels (based on the skin resolution) after the text, therefore reducing the area in which text can be displayed to prevent overlapping of graphical overlays on the right end of the control.
Added property "textpadding" and "textpadding2" to GUISelectButtonControl.cs

The new introduced property "textpadding" pads a label with the number of given pixels (based on the skin resolution) after the text, therefore reducing the area in which text can be displayed to prevent overlapping of graphical overlays on the right end of the control.
Added property "textpadding" to GUISpinControl.cs

The new introduced property "textpadding" pads a label with the number of given pixels (based on the skin resolution) after the text, therefore reducing the area in which text can be displayed to prevent overlapping of graphical overlays on the right end of the control.
Added property "textpadding1" and "textpadding2" to GUIButton3PartControl.cs

The new introduced property "textpadding" pads a label with the number of given pixels (based on the skin resolution) after the text, therefore reducing the area in which text can be displayed to prevent overlapping of graphical overlays on the right end of the control.

Done additional code cleanup:
- removed all redundant type casts
- removed redundant code in get/set method
- fixed potential null references
- fixed outdated XML comments
- fixed a few typos in comments
Basic Cleanup of GUIListControl.cs

- removed redundant type casts
- convertws a few of the endlesa if-then-else chains to a switch statement. Looks like someone never heard of switch before.
- merged a few of the if if if if chains. Looks like someone never heard that an if can have more than one condition
- removed redundant code
- various code adjustments for readability
- removed a ton of braces where they shouldn't be and added braces where they should be
- fixed some potential null references
- fixed some XML comments
- removed redundant initialisers
- removed never referenced assignments

This code really needs a serious cleanup. The constant if-something-return sequences (often nested) are just masked gotos.

This is a prime example of spaghetti code. It can't get worse. Cleanup is urgently needed. No one can debug this.
Added property "textpadding1", "textpadding2", "testpadding3" to GUIListControl.cs

The new introduced property "textpadding" pads a label with the number of given pixels (based on the skin resolution) after the text, therefore reducing the area in which text can be displayed to prevent overlapping of graphical overlays on the right end of the control.
Added property "textpadding", "textpadding2", and "textpadding3" to GUIPlayListItemListControl.cs

The new introduced property "textpadding" pads a label with the number of given pixels (based on the skin resolution) after the text, therefore reducing the area in which text can be displayed to prevent overlapping of graphical overlays on the right end of the control.

Additiona Code Cleanup:
- removed redundant type casts
- removed redundant code
- removed redundant initialisers
- various code adjustments for readability
- fixed some potential null references
- fixed some XML comments
- removed never referenced assignments
Mantis #4182

Center alignment of labels doesn't position oversized labels correctly.
Added DirectShow Graph Dumping.
Mantis #4183

Added missing setting of parent control and dim colour to GUIFadeLabel  classes.
Reverted change from Mantis 4118 in GuiSpinControl.cs and added latest references.xml for Titan.
Mantis #3808

textColorNoFocus, textColorNoFocus and textColorNoFocus2 were added to GUIListControl.cs

If not defined they take the value of their textcolor counterpart.

This property will override the textcolor for items that are not selected.

In addition the method RenderLabel() was commented a received a bit of a cleanup. It's still very ugly but not at lest a bit understandable for future changes.
Added configuration options for initial repeat delay and delay between repetitions if IR commands for USB-UIRT.