Using reflection to add handler for user preference events (dotnet/corefx#37853)
* using reflection to add handler for user preference events
* adding comments, correcting typo and using GetType
* adding debug.asserts
* pushing down color translator
* using open unbound delegate pointing directly to getter method of the eventargs category property
* No longer using colorTable on netcoreapp 2.1 in system.Drawing.Common
* reverting the use of extension method.
* doing s_color check first and adding null check for category getter
* missing semicolon
* improving comments and adding tests
* removing extra using
* using already defined known color
* skipping the test on nano and non-windows platform
* introducing a custom property
Commit migrated from https://github.com/dotnet/corefx/commit/
d24b3e33e66bfd0733f9c01fa810336d76a8872f