Respect ShowPerformanceGraph setting when starting a new interface.
Renamed PathComparison.Current to PathEquality.Comparison and added PathEquality.Comparer
Removed unused usings.
Remove Module Games wrapper around Game.vb classes.
Fixed a series of FxCop violations.
Fixed a call to the ctor for PonyEditorForm2.
Fixed some bugs in GameSelectionForm relating to changed definition of PonyCollection.Bases no longer including the random pony.

Changed a few Unions into Concats
Added some checks for saving the last used profile in a few extra places.

Added message when saving profile on the options form.
Fix main to load default profile if the current cannot be found. Removed now redundant random pony field.

Added a null check in PonySelectionControl image loading, to handle the case of a failed image load that must be disposed.
Fixed bug in Pony.InitializeInteractions not checking for a null directory.

Corrected some xmldoc in DictionaryExtensions.
Fixed interaction editing via the editor. Dialog will now sync changes to the grid view after hitting Ok. Reactivation delay is now also properly read in.
Corrected some xmldoc according to StyleCop violations.
Added referential checking to interaction, and completed and added interaction item editor to the new editor.

Changed parsing to return ImmutableArrays of ParseIssue rather than plain arrays.
Made StringCollectionParser suitable for inheriting.
Fixed a threading issue that was exposed by calling Draw from within PonyEditorAnimation on a different thread. This function has been made private as it need not be exposed, and this will prevent potentially silly calls.

Made the setting of the sprites field use Interlocked.Exchange to ensure the rendering thread would see the update.
Corrected DisplayBounds to not call render, as the sprites list would possibly be changed and thus it would be wrong to redraw from it. Changed doc to note that setting the property would clear the form.
Revert last commit for being silly. Instead provide locking in AnimationLoopBase class since this is responsible for spawning the animation thread that cannot be invoked upon. The ElapsedTime property, and most importantly the Update and Draw methods are locked so that access can be had sensibly from both the animation thread, and whichever thread the owner chooses to use.
Suppress Hungarian notation warning on AlphaForm.