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