Created a Runtime.IsMono property and substituted it's use in places where the operating system was previously being checked, but actually the dependency was on the runtime and not the OS.

Worked around a bug in mono's Application.MessageLoop causing a hang, which prevented the IdleWorker object from being created.
Fixed some threading issues in WinFormSpriteInterface drawing, and in PonySelectionControl.