Tweaked error handling concerning missing fonts on non-Windows platforms.

Finally block in exit handler will exit the environment immediately and not attempt a "nice" shutdown of the winforms application. This is to prevent shutdown being blocked if the Exit() method blocks on something (e.g. requiring user input).
Removed duplicated code in PonyEditor and PonyBase save methods.

Made saving more robust by writing to temporary files and replacing afterwards.
Added some exceptions when quoting or bracing ini parameters so that these characters can't screw up the files.
Replaced vbNewLine, vbCrLf with Environment.NewLine.
Tweaked SavePony method in editor to return whether saving succeeded.

Fixed NewPonyDialog to create directories and such at a more sensible time, and to check results of saving.
Changed several classes to make dependency on the collection of pony bases explicit and not rely on a shared collection in the Main class.
Made taskbar, performance graph and debugging logs available as options.

Removed cached enumerators in Pony as they could actually become invalidated whilst in use, safer to make new ones and take the allocation hit.
Fixed longstanding bug where behaviors would not respect their destination offsets. These are now refreshed each update cycle to keep them correct (which appears to have no negative side effects).

Changed missing sound handling during pony loading.