Pull Request to merge changes to help with mono compatibility

Hello I have made several changes to the source to improve compatibility with Mono as well as reduce the number of exceptions and am wondering may you be able to merge them in.
The three most important of the changes is that when a BackColor is set to Color.Empty it actually sets the color back to the default of System.Drawing.SystemColors.Control and System.Window.

The second important change is for the Int32.Parse functions throw a FormatException do to the Underscore character and therefore falls through to the catch. I have added a TrimEnd call with the argument of '_'  to To[U]Int32 function to remove any trailing underscores before calling [U]Int32.Parse.
I have also cleaned up the Controls To[U]Int32 functions to call the string version of To[U]Int32.

Finally I have change the order of assignment for the CB_GameOrigin DataSource member to be after it has been assigned the name of the DisplayMember and ValueMember.
The reason I did this is because the assignment of the CB_GameOrigin DataSource would cause an onSelectedIndexChanged event to occur which would call updateOriginGame and try to query the CB_GameOrigin.SelectedValue member. The issue with this is the ValueMember does not get assigned until after the DataSource assignment.

I would like to apologize in advance for the format differences. The MonoDevelop IDE I am using was using tabs instead of spaces and I did not realize until after I committed the changes