Added the CollisionHandler

First commit to include the handler, still not functional correctly
Added missing functions

Added required onCollision function and getPosition function
Added AIMesh

Added AIMesh
Added reference to it in SummonersRift
Added load function in it, but commented it out (SummonersRift.cpp:78),
it crashes when trying to get the RAF file (?)
Collision fixing

- Removed stretch errors
- Added support for non-square info for maps
- Renamed m_Info to m_Heightmap for clarity.
- I should probably remove the hardcoded 1024 buffer size
- Fixed the map being flipped
Fixed crash

Thanks Ely :)
Changed codestyl

actually kind of sad, i like mine, but i have to stay consistent.
Finished pathfinder

- Added loaded boolean to AIMesh
- Removed old collision map from the handler, now only handles
intersection of objects
- made mesh protected, added a get function to the pointer of it
- Added oncollision for minion with example functionality
- Added A-Star pathfinding code
- Added distanceWith squared function (faster than regular), will
replace distance checks later on
- Added new Vector2 operators (divisions, multiplications with constants
and vectors)
- Why did I upload debug prints
- Fixed small codestyle error
- CollisionHandler now inherits the pathfinder.
- Optimised Object::collide. Even though nobody probably uses it. I
probably should.
Added collisionsupport for walls

Because you need to path when you walk into the walls.
Removed a break
Fixed a crash when there was no target for the object
Refined datatypes

- Cleaning data afterwards
- Use std::malloc instead of malloc (idk, portability or something)
Finished and tested AIMesh

- Fixed AIMesh and is now tested and working! Could be slightly off due
to coordinate conversions, but fek it. It works pretty much. I haven't
run into issues.
- getY now returns -̶1̶3̶3̶7̶ -99999 when AImesh is not loaded or when
there's nothing there.
- Added support for larger AIMesh textures.
- writeFile now puts the X in red, Y in green, and the height value in
blue. Note that Our Y goes from down to up ingame, but it's the other
way around in the heighttexture.
- Credited my teacher for the line function
- Added UpwardDisplacement to objects
Tested and fixed Object-Wall collision

- Added a TODO to figure out stuff
- Objects now have a direction vector based on the last direction they
walked into.
- Removed unneeded headers from CollisionHandler.
- Added an isWalkable function to the map and the AIMesh
- AIMesh has a TranslateToTextureCoordinate. Don't use this, for real,
this is for my debug purposes. The translation is done by the system for
you.
Improved collision by not colliding with dead units
Made pathfinding threadsafe

- Added option to disable optimisation, and disabled it by default.
Reason: There's functionality that instead of news and deletes fetches
empty PathNodes from a table. This uses more memory but doubles the
pathfinding speed. Problem is that I need to add critical sections on
these probably. Also, we will have to increase the table size, it allows
for 2<<15 objects, but if there are >200 minions, it will probably try
to fetch outside of the table. if they all make paths.
- Moved Pathfinding variables into Path class which is now the new
return of the getPath.
- Added error to pathreturn. (Reason why path wasn't created or zero)
Enable summoner spells
SetCooldown packet
Merge branch 'collision'
Also :

- Fixed a bunch of stat masks that were off by 1 bit
- Added LifeStealMod to items
- Use the mesh height coordinate in packets
Merge pull request #92 from satan6/master

Cooldowns + compiler warnings
Merge branch 'master' of github.com:Elyotna/IntWars