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