Added DictionaryExtensions class to provide GetOrAdd methods for the IDictionary interface, similar to ConcurrentDictionary.

Modified the Enumerator wrapping class to expose the generic interface, and provide access via a static generic method for type inference benefit.
Removed the Vector class in favour of using Vector2/Vector2F and implicit conversions.
Extracted some OS native methods into their respective classes. Moved these namespaces to children of the root namespace.
Reorganized the a few classes and files, removed a few unused classes, tidied up some comments and code style.
Fixed a missing check of the disposing flag in the Dispose method of WinFormSpriteInterface.
Fixed a logic error in WinFormSpriteInterface that was preventing Dispose(bool) actually running.

Moved several designer overrides of Dispose(bool) into main files in order to provide a better interface for disposing fields.
Restored CreateEntry method for used by LazyDictionary.Add, as the complier generated class for the anonymous function was getting created before the check and creating garbage.
Seperated Effect into an EffectBase and Effect class. Should reduce memory and time spent cloning a whole effect.

Fixed a stray pixel on the Section8 house.
Tweaked a few methods to reduce memory allocations.
Fixed issues with drawing in the wrong locations with alpha blending off and multiple monitors.

Fixed loading to wait for all images to load.
Reworked GC calls a bit.
Changed error handling to stdout as well as file.

Fixed an error where reloading poines after using the editor didn't work right.