Refactored Everything

Mostly simpler base classes. Now only uses Coordinate, Line and
Triangle.

GameObject also redone.

Started on CollisionManager.
Implemented Collision Detection

Collision detected as two classes:
Collision: has pointers to objects that collide. Used in collision
resolution.
CollisionManager: Looks for collisions, creates collision objects and
resolves collisions using collision objects.

Note: Collisions are defined as when some vertices of one GameObject has
penetrated the triangles making up another. The vertices are averaged
and the result is backward interpolated in time  to determine which
triangle edge was penetrated and thus how to resolve the collision by
applying force impulses to the involved objects.
Refactored Collision related objects
Started Implementing Connection to SFML

Created classes:
Game
GameLogic
SfmlGameSprite
SGSTank (inherits from SfmlGameSprite)

A Game object creates an SFML window,many SfmlGameObjects and a
GameLogic.

GameLogic has a ColisionManager and a vector of all the game objects,
manages them with keyboard input and collisions.
Fixed Collision Detection

Collision detection and resolution now (mostly) works.

Started implementing window borders.
Introduced Projectiles

Introduced projectiles that bounce off things (badly) and crates that
behave immensely weirdly.

Gave up on MapBorders for now.
Updated Crate

Crates still seem to move independently of their sprites, this causes
weird behaviour.

Tanks seem fine, thus it must be in the implementation of GameLogic
where the fault lies, seeing as I copied the classes: Tank and SGSTank
almost verbatim to create Crate and SGSCrate.
Undo GTest Build
Added dirty collision boxes to help debugging.

Drew collision boxes by getting position of coords of triangles that
make them up- not a permanent solution, just for bug finding....

Collisions seem to work fine with sloped lines, horizontal and vertical
lines break collisions altogether.

I will look into this.
Added game executable.
Workaround for horizontal and vertical line problem

Could not solve horizontal and vertical line problem, implemented
workaround: no lines are horizontal (very close, but not) Things rotate
discretely, so this should not be a problem.

Noted a new bug: when corners collide they stick and behave weirdly.
Fixed Rocket Bounce Direction

Rockets now bounce like they would in reality.

TODO:
Fix rocket sprite image
Fix explosion sprite image
Fix horizontal/vertical line intersection problem
Fix corner collision problem
Delete rockets after they leave the screen
Delete rockets after they hit a tank
Make immovable crates to be used as boundaries
Make rockets explode if they hit crates head-on
Implement health system for crates and tanks
Make mines
Fixed Tank Explosion Problem

Tank explosions did not show fully, this was due to the sprite not
resetting the rectangle of the texture it shows when a new texture was
loaded.

TODO:
Fix explosion sprite image
Fix horizontal/vertical line intersection problem
Fix corner collision problem
Delete rockets after they leave the screen
Delete rockets after they hit a tank
Make immovable crates to be used as boundaries
Make rockets explode if they hit crates head-on
Implement health system for crates and tanks
Make mines
Revert "Fixed Tank Explosion Problem"

This reverts commit 89f67e0058b04bf194841374c6b8841966aefb46.