fixed window creation returning failure
Added copy constructor to Vector2D
Added SAL annotations and made code easier to read